我正在使用wix 3.5来创建具有“perUser”安装范围的Windows安装程序。 wxs file is here,生成MSI file is here。
我从light.exe
链接器收到以下奇怪的警告。我不确定我是否应该压制它们,或者是否有更好的方法来解决这个问题。
ICE57
d:\汞柱\ downmarker \设置\ product.wxs(34) :警告LGHT1076:ICE57:组件 'component.downmarker.exe'都有 每个用户和每台机器的数据 HKCU注册表KeyPath。
此警告对我没有意义,因为安装程序在没有管理访问权限的情况下工作正常 - AFAIK证明安装程序不会像警告声称的那样写任何“每台机器数据”。
ICE91
d:\汞柱\ downmarker \设置\ product.wxs(37) :警告LGHT1076:ICE91:文件 'downmarker.exe'将安装到 每个用户目录 'DownMarkerFolder'不变 基于ALLUSERS值。这个文件 不会复制到每个用户的个人资料 即使每台机器安装 期望的。
这个警告对我来说没有意义,因为我明确地将安装程序标记为具有“perUser”安装范围。
答案 0 :(得分:9)
显示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/library/aa369053(VS.85).aspx