安装快捷方式导致安装重新运行 Visual Studio 2010



我正在使用Visual Studio 2010安装程序为我的应用程序创建安装程序。从文件系统编辑器中,我选择了在我的解决方案中创建的两个主要输出文件之一。我已经右键单击并为我的可执行文件创建了一个快捷方式。我已将快捷方式拖放到用户的程序菜单中。我构建安装程序,一切都成功完成。我运行安装程序,一切运行成功。现在我继续双击快捷方式,安装程序重新运行并失败!!.我已经检查了快捷方式,它与我手动创建的快捷方式不同。目标灰显。任何帮助将不胜感激!!

通过播发的快捷方式启动应用程序时,Windows 安装程序会验证应用程序资源是否完好无损。如果缺少一个或多个资源,Windows 安装程序将使用缓存的 MSI 自动重新安装它们。这就是执行第二次安装的原因。

在 Visual Studio 中创建的快捷方式会播发,因此如果某些已安装的文件丢失,则会触发修复。

要确定触发修复的原因,您可以尝试以下操作:

  • 收到"准备安装"消息后,打开事件查看器(您可以在"开始"菜单中搜索它或启动"eventvwr.msc")
  • 转到"Windows 日志"->"应用程序"
  • 查找具有以下表单的"MsiInstaller"信息消息:

    事件类型:警告事件源: Msi安装程序事件 ID:1001说明:在请求组件"{068153F4-B9E0-4745-9 D30B2F24A17B A47-833764D9D60C}"期间,检测到产品"{1F7D16F0-836D9D60C}",功能"FeatureId"失败

计算机上的 GUID 会有所不同,但它们可以帮助您确定导致问题的组件。第一个 GUID 是包产品代码,第二个 GUID 用于有问题的组件。尝试创建安装日志,并查看组件未正确安装的原因。

这最终成为注册表配置单元的问题。Visual Studio 2010 Registry 编辑器允许我在 'HKEY_USERS(64)\S-1-5-20\Fileopen 中指定值。然而,这就是上述错误的原因。也就是说,在使用 Visual Studio 2010 中的安装和部署生成注册表时,注册表的此部分中不能包含值。我把值移到local_Machine下,捷径就像一个魅力。

最新更新