0

我正在使用 Wix 为我的 .exe 创建和安装程序。

我的目录结构:

<!--Directory structure-->
<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="APPLICATIONFOLDER" Name="MyApp" >
      <Directory Id="MyAppBin" Name="Bin" />
        <Directory Id="MyAppRes" Name="Data">
          <Directory Id="MyAppResDE" Name="de" />
          <Directory Id="MyAppResEN" Name="en" />
      </Directory>
    </Directory>
      <Directory Id="ProgramMenuFolder">
        <Directory Id="MyShortcutsDir" Name="MyApp" />
      </Directory>
    </Directory>
</Directory>

我使用<UIRef Id="WixUI_Advanced" />,所以我得到了带有“高级”和“安装”选项的安装程序。

当我点击“高级”时,默认安装路径为:

C:\Program Files (x86)\MyApp\

但是当我选择“安装”时,程序被安装在:

C:\Users\PolGraphic\AppData\Local\Apps\MyApp\

也许是因为默认安装会“选择”“仅用于该用户”。

无论如何,如何强制安装程序默认安装在“C:\Program Files (x86)\MyApp\”下(当我点击“安装”而不是“高级”时)?

我不介意它是否适用于所有用户或默认情况下仅适用于“该用户”。

4

2 回答 2

2

要扩展 llirB 的答案,默认情况下安装是基于“每个用户”,这意味着您将 ProgramFilesFolder 设置为该用户的 %APPDATA%。

如果您希望安装始终位于 C:\Program Files (x86)\MyApp\ 您需要设置

InstallScope="perMachine"

在您的包裹标签中。这将定义正确的 Windows 安装程序属性,指示此安装适用于所有用户(也称为安装到程序文件中)。

于 2016-04-14T18:18:58.543 回答
0

我相信您正在创建 Per-User 安装,因此 Windows 操作系统将重定向ProgramFilesFolder到用户的 Appdata,有关更多详细信息,请查看http://msdn.microsoft.com/en-us/library/windows/desktop /dd765197(v=vs.85).aspx

于 2013-11-17T14:23:19.660 回答