在单击应用程序快捷方式之前,Windows Installer无法完成安装?

时间:2011-11-27 06:18:44

标签: visual-studio-2010 windows-installer

我有一个从VS2010安装项目构建的MSI安装程序。部分安装包括添加或修改注册表项。 (如果安装是升级,则修改密钥,而不是第一次安装。)

安装程序在第一次安装时工作正常,但是当它升级时,在单击应用程序快捷方式之前,安装似乎仍然不完整。我的意思是:安装成功完成,但是在单击安装过程创建的应用程序快捷方式(即在“开始”菜单中)之前,这些注册表项将不存在。此时,安装程​​序将启动Please wait while applicationXXX is configured...行的消息。这种情况只发生过一次,之后就会写出密钥并且一切都与宇宙相吻合。

但为什么会这样呢?更重要的是,如何“强制”安装程序完成安装并编写这些注册表项而无需单击应用程序快捷方式?我还应该提一下,直接运行应用程序的可执行文件不会触发最终的安装过程;它似乎只在单击一个快捷方式时起作用。

任何帮助/见解将不胜感激。

2 个答案:

答案 0 :(得分:2)

以防其他人遇到此问题,结果发现真正的罪魁祸首是Visual Studio错误:http://support.microsoft.com/kb/2418919

答案 1 :(得分:1)

使用快捷方式时会自动修复安装,因为该快捷方式为advertised。这是破坏安装的正常Windows Installer行为。

要确定升级期间未安装注册表项的原因,请尝试创建verbose install log

您的注册表项组件的关键路径很可能被视为已安装。如果密钥路径是文件而不是实际的注册表项,则可能会发生这种情况。您可以检查Component表中的关键路径(使用Orca编辑MSI)。