我正在使用Visual Studio 2010安装程序为我的应用程序创建安装程序。从文件系统编辑器中,我选择了在我的解决方案中创建的两个主输出文件之一。我右键单击并为我的可执行文件创建了一个快捷方式。我已将快捷方式拖动到用户程序菜单中。我构建安装程序,一切都成功完成。我运行安装程序,一切运行成功。现在我继续双击快捷方式,安装程序重新运行并失败!!!我检查了快捷方式,它与我手动创建的用于比较的快捷方式不同。目标是灰色的。任何帮助将不胜感激!!!
答案 0 :(得分:3)
通过广告快捷方式启动应用程序时,Windows Installer会验证应用程序资源是否完好无损。如果缺少一个或多个资源,Windows Installer将使用缓存的MSI自动重新安装它们。这就是执行第二次安装的原因。
广告在Visual Studio中创建的快捷方式,因此如果缺少某些已安装的文件,则会触发修复。
要确定触发修复的原因,您可以尝试:
查找具有以下格式的“MsiInstaller”信息消息:
事件类型:警告 事件来源:MsiInstaller 事件ID:1001 说明:检测产品'{1F7D16F0-836D-4CE4-9123-D30B2F24A17B}',功能'FeatureId'在组件'{068153F4-B9E0-4745-9A47-833764D9D60C}'的请求中失败
您的计算机上的GUID会有所不同,但它们可以帮助您确定导致问题的组件。第一个GUID是您的包ProductCode,第二个GUID是有问题的组件。尝试创建installation log并查看未正确安装组件的原因。
答案 1 :(得分:0)
这最终成为注册表配置单元的问题。 Visual Studio 2010注册表编辑器允许我在'HKEY_USERS(64)\ S-1-5-20 \ Fileopen中指定值。然而,这是上述错误的原因。也就是说,当使用Visual Studio 2010中的设置和部署生成时,您不能在注册表的这一部分中拥有值。我将值移动到local_Machine下,并且快捷方式就像魅力一样。