2

我正在实现一个支持在 WiX 中使用WixUI_Advanced. 当我为这台机器上的所有用户选择安装时-[ProgamFilesFolder]评估为AppData\Local\Programs而不是C:\Program Files.

请注意,仅在选择目标目录之后才会出现 UAC 提升提示 - 我认为这是由于 UAC 虚拟化而导致的此问题。

我怎样才能获得真正的 Program Files 目录?
另一种解决方法可能是 - 更改对话框顺序以在功能选择对话框之后显示目录选择对话框,其下一个按钮调用 UAC 提升提示。或者在评估目标位置
之前提示 UAC 提升,但仅当用户选择了每台计算机安装时。[ProgramFilesFolder]

更新:目前我使用:[%ProgramFiles]- 环境变量(在 x64 上安装 x86 时中断)

更新二:现在我使用的注册表值是ProgramFilesDirHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

4

1 回答 1

0

WixUI_Advanced取决于配置应用程序安装位置的Directory元素。Id='APPLICATIONFOLDER'然后使用该ALLUSERS属性配置安装到正确位置的路径。WixUI_Advanced Dialog Set帮助主题中详细介绍了其中的很多内容。这些都不会改变ProgramFilesFolder.

PS:[%ProgramFiles]环境是访问ProgramFilesFolder. 相反,您可以使用[ProgramFilesFolder]获取 Windows 安装程序中的默认值。

于 2013-04-23T20:24:23.250 回答