【发布时间】:2013-06-27 22:25:57
【问题描述】:
我想将一些文件安装到位于“C:\Users\Public\MyApp”的文件夹中。 WiX 中是否有预定义变量在 Windows 7 中解析为“C:\Users\Public”,在其他版本的 Windows 中解析为等效位置?
【问题讨论】:
-
-1 表示不使用通用应用程序数据。
标签: wix
我想将一些文件安装到位于“C:\Users\Public\MyApp”的文件夹中。 WiX 中是否有预定义变量在 Windows 7 中解析为“C:\Users\Public”,在其他版本的 Windows 中解析为等效位置?
【问题讨论】:
标签: wix
没有。 WiX 在安装项目中只定义了这些变量:
sys.CURRENTDIR
sys.SOURCEFILEPATH
sys.SOURCEFILEDIR
sys.PLATFORM
并且 WiX 变量仅在构建安装包时使用。
您可能是指 Windows Installer 属性。它们取决于 Windows Installer 版本,列出了 here。注意:在阅读所需版本的 Windows Installer 时,文档列出了可以在特定操作系统版本上实际安装的最低版本,这对您不利。支持属性的最低版本将是其中最低的。
答案仍然是“不”。事实上,甚至没有 CSIDL API 来定位该文件夹。从 Windows Vista 开始,有一个 FOLDERID API,尽管 Windows Installer 不使用它。
重点是,这不是安装文件的所在!请考虑 [CommonAppDataFolder]。
【讨论】:
这个问题解决如下:
<Directory Id="UserPublicMyAppFolder" Name="MineSched">
</Directory>
<SetDirectory Id="UserPublicMyAppFolder" Value="C:\Users\Public\MyApp" />
【讨论】: