我正在实施一个支持Per-User& amp;使用WixUI_Advanced
在WiX中进行每台计算机的安装。当我为此计算机上的所有用户选择安装时,[ProgamFilesFolder]
评估为AppData\Local\Programs
而不是C:\Program Files
。
请注意,只有在目标目录选择之后才会出现UAC提升提示 - 我认为这会导致由于UAC虚拟化而导致此问题。
如何获得真正的Program Files目录?
另一种解决方法是 - 在功能选择对话框后更改对话框顺序以显示目录选择对话框,其下一个按钮将调用UAC提升提示。
或者在评估目标位置[ProgramFilesFolder]
之前提示UAC提升,但仅在用户选择了每台机器安装时才提示。
更新:目前我使用:[%ProgramFiles]
- 环境变量(在x64上安装x86时中断)
更新II :现在我使用ProgramFilesDir
的注册表值:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
答案 0 :(得分:1)
WixUI_Advanced
取决于具有Directory
的{{1}}元素来配置应用程序的安装位置。然后使用Id='APPLICATIONFOLDER'
属性配置安装到正确位置的路径。 WixUI_Advanced Dialog Set帮助主题中详细介绍了很多内容。这些都不会改变ALLUSERS
的价值。
PS:ProgramFilesFolder
环境是访问[%ProgramFiles]
的不太健全的方式。相反,您可以使用ProgramFilesFolder
在Windows安装程序中获取默认值。