【问题标题】:WiX installer: Installing to Appdata - Error ICE38, ICE64 & ICE91WiX 安装程序:安装到 Appdata - 错误 ICE38、ICE64 和 ICE91
【发布时间】:2013-09-09 09:57:00
【问题描述】:

我一直在用我的头撞这个,但我终于屈服了(经过大量搜索后)并来到堆栈溢出寻求帮助。

正如标题所示,我正在尝试创建一个安装程序,该安装程序可以执行每个用户的安装,而无需任何提升的权限。

但是,以下代码会在编译时生成大量 ICE38 和 ICE64 错误,以及 ICE91 警告。

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="AppDataFolder">
        <Directory Id="AppRootDirectory" Name="[Manufacturer]">
          <Directory Id="INSTALLFOLDER" Name="[ProductName]" />
        </Directory>
      </Directory>
    </Directory>

    <Feature Id="ProductFeature" Title="ATestProject" Level="1">
      <ComponentGroupRef Id="modules" />
    </Feature>

“modules”指的是heat.exe生成的.wxs文件的内容,其组件安装目录为“INSTALLFOLDER”

互联网上可用的解决方案表明我对我的 modules.wxs 文件进行了大量编辑以使其正常工作,这是不可接受的 - 在此发布过程中有超过 1000 个文件,任何不能自动化(在构建时在命令行或使用脚本完成)完全不可能

提前致谢!

【问题讨论】:

  • 我无法理解错误是什么,也无法理解您考虑的解​​决方案是什么,但我认为您过早地放弃了它们。 wxs 文件是一个 XML 文件,因此可以使用 XSL 自动编辑。事实上,如果它是由 heat.exe 生成的,您可以将路径传递给 XSL 转换文件,它会在发出输出文件之前进行转换。我经常这样做是为了添加快捷方式元素来选择文件、防火墙例外等。
  • @Tom 这不是很有帮助,因为我需要知道怎么做,我知道可以做到——但我的尝试没有结果

标签: wix windows-installer wix3.7


【解决方案1】:

您可以设置按用户安装,默认情况下在 Windows 7 及更高版本上,通过执行以下操作安装到 %localappdata%\Programs;

<Property Id="ALLUSERS" Secure="yes" Value="2"/>
<Property Id="MSIINSTALLPERUSER" Secure="yes" Value="1" />

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="AppRootDirectory" Name="Manufacturer">
      <Directory Id="INSTALLFOLDER" Name="ProductName" />
    </Directory>
  </Directory>
</Directory>
<!-- ... -->
<!-- ... -->
<Feature Id="ProductFeature" Title="ATestProject" Level="0">
  <ComponentGroupRef Id="modules" />
</Feature>

基本上设置顶部的两个属性会将安装程序配置为“按用户”安装,这对 UAC 友好且不需要提升权限。 详细解释见This

另请注意,ProgramFilesFolder 变为 %localAppData%/programs - Microsoft 为每个用户应用程序和安装到用户配置文件而不是 C:\Program Files (x86)\

的默认存储位置

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多