wix:针对每个用户安装程序的 ICE57 和 ICE91 警告
我正在使用 wix 3.5 编写具有“perUser”安装范围的 Windows 安装程序。 wxs 文件位于此处,生成的 MSI 文件位于此处。
我从 light.exe
链接器收到以下奇怪的警告。我不确定我是否应该压制它们,或者是否有更好的方法来解决这个问题。
ICE57
D:\hg\downmarker\setup\product.wxs(34) :警告 LGHT1076 :ICE57:组件 'component.downmarker.exe' 两者都有 每用户和每台机器的数据 HKCU 注册表键路径。
这个警告对我来说没有意义,因为安装程序在没有管理访问权限的情况下可以正常工作 - AFAIK 证明安装程序不会像警告所述那样写入任何“每台机器数据”。
ICE91
D:\hg\downmarker\setup\product.wxs(37) :警告 LGHT1076 :ICE91:该文件 “downmarker.exe”将安装到 每个用户的目录 “DownMarkerFolder”不变 基于 ALLUSERS 值。这个文件 不会复制到每个用户的个人资料中 即使每台机器的安装是 想要的。
这个警告对我来说也没有意义,因为我明确地将安装程序标记为具有“perUser”安装范围。
I'm using wix 3.5 to author a windows installer with the "perUser" install scope. The wxs file is here, the resulting MSI file is here.
I get the following strange warnings from the light.exe
linker. I'm not sure if I should just suppress them or if there is some better way to fix this.
ICE57
D:\hg\downmarker\setup\product.wxs(34)
: warning LGHT1076 : ICE57: Component
'component.downmarker.exe' has both
per-user and per-machine data with an
HKCU Registry KeyPath.
This warning doesn't make sense to me, because the installer works fine without administrative access - which AFAIK proves that the installer doesn't write any "per-machine data" as the warning claims.
ICE91
D:\hg\downmarker\setup\product.wxs(37)
: warning LGHT1076 : ICE91: The file
'downmarker.exe' will be installed to
the per user directory
'DownMarkerFolder' that doesn't vary
based on ALLUSERS value. This file
won't be copied to each user's profile
even if a per machine installation is
desired.
This warning doesn't make sense to me either because I explicitly mark the installer as having the "perUser" install scope.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
显示 ICE57 是因为组件“component.downmarker.exe”包含 HKEY_CURRENT_USER 和 HKEY_CLASSES_ROOT 中的注册表项。 HKEY_CLASSES_ROOT 是针对每台计算机的,因此该组件同时具有每用户和每台计算机的数据。
我注意到您正在使用 HKEY_CLASSES_ROOT 进行文件关联。您可以使用“HKEY_CURRENT_USER\SOFTWARE\Classes”来获取每用户文件关联。
ICE91 是无害的,对于每用户安装可以忽略:
http://msdn.microsoft.com/en-us/库/aa369053(VS.85).aspx
ICE57 is shown because component "component.downmarker.exe" contains registry entries from HKEY_CURRENT_USER and HKEY_CLASSES_ROOT. HKEY_CLASSES_ROOT is per-machine, so the component has both per-user and per-machine data.
I noticed you are using HKEY_CLASSES_ROOT for a file association. You can use "HKEY_CURRENT_USER\SOFTWARE\Classes" instead to obtain a per-user file association.
ICE91 is harmless and can be ignored for per-user installations:
http://msdn.microsoft.com/en-us/library/aa369053(VS.85).aspx