我有一个基于WiX的MSI,可以安装服务和一些快捷方式(以及许多其他不支持的文件)。MSI安装程序启动服务启动时的自动修复
按照WiX docs中所述,使用HKCU下的注册表项作为密钥文件创建快捷方式。这是所有用户的安装,但要通过ICE38,此注册表项必须位于当前用户下。
服务启动时(它在SYSTEM帐户下运行)会注意到该注册表项无效(至少是该用户)并再次运行安装以“修复”。
在事件日志中,我得到MsiInstaller事件1001和1004,显示“The resource'HKEY_CURRENT_USER \ SOFTWARE \ MyInstaller \ Foo'不存在。”这并不奇怪,因为SYSTEM用户不会有这个键。
我打开了系统范围的MSI日志记录,并且自动修复在C:\ Windows \ Temp文件夹中创建了它的日志文件,而不是特定用户的TEMP文件夹,这似乎暗示当前用户是SYSTEM(加上日志文件显示“呼叫过程”是我的服务)。
有什么我可以做的,禁用自动修复功能?我做错了什么或违反了一些MSI规则?任何关于下一步看什么的提示?
你不能将快捷方式添加到ALLUSER的开始菜单在文件系统中呢? – 2010-04-07 22:49:29