作者:oDavid_仔o_880 | 2023-09-04 09:50
我需要在Environment.SpecialFolder.ApplicationData
文件夹中安装一个文件,该文件夹在XP和Vista之间有所不同.是否有内置的方法来引用WiX中的正确文件夹,或者我是否必须使用OS的条件检查并手动执行?
如果我必须执行后者,如何在Vista中引用当前Windows用户的目录?
1> Pavel Chuchu..:
使用ID设置为AppDataFolder的 Directory元素:
这将导致test1.txt安装到Windows 7上的C:\ Users\username\AppData\Roaming\My和Windows XP上的C:\ Documents and Settings\username\Application Data\My.
MSDN具有可用于引用特殊文件夹的属性列表.
不幸的是,你得到一个_"错误LGHT0204:ICE38:组件MyComponent安装到用户配置文件.它必须使用HKCU下的注册表项作为其KeyPath,而不是文件."_,所以你必须添加一个RegistryValue作为KeyPath的零件.我希望我能完全摆脱文件.
注意,这里可以省略`Name ="AppDataFolder"属性.那里只需要Id属性.此外,您可以省略组件`Guid`; wix现在会自动生成一个稳定的Guid.最后,您可以省略`File`元素上的`Id`,`Name`和`KeyPath`属性.默认情况下,`Id`和`Name`将基于`Source`具有这些值,并且该文件将自动成为组件的keypath,因为该组件不包含任何其他内容.