在WIN7下对Program Files目录的权限问题 [问题点数:40分,结帖人mysunck]
大部分人说要使用manifest,但是其中一个人说:
“安装程序要求管理员很正常,你的程序可以在programfiles,但用户数据不能放那里,因为运行程序的账户不一定有权限,你应该把用户数据放到每个用户各自的appdata目录,用环境变量得到此目录的位置 ”
然后我查了一下,果然如此. 无论在WIN7还是在WIN10下,SYSTEC软件都把CAN波特率配置放到了appdata里面。
所以这个才是正解。
查资料:
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
取的是AppData文件夹中的local文件夹路径
这个就是 Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
试了一下 好用!!!
首先在WIN10下面 调试的话 用X64模式
release 我先弄的是32位,所以生成的用X86的setup(用VS自带的打包工具)
然后把这个包在WIN7下安装,然后在WIN7下还得安装setupfactory 9版本(因为9版本写的支持WIN10等,尽管SETUPfactory8估计也支持WIN10),然后手动添加皮肤文件 和appdata文件,
找到帮助文档,如下:
%ApplicationDataFolder%
The path to the Application Data folder on the user's system. This folder serves as a common repository for application-specific data. Typically, this path is something like "C:\Documents and Settings\YourName\Application Data." On Windows Vista or later, it would return something like "C:\Users\YourName\AppData\Roaming."