【问题标题】:Custom actions in MSI setup not working properly when upgrade to VS2010升级到 VS2010 时,MSI 设置中的自定义操作无法正常工作
【发布时间】:2014-01-28 08:27:16
【问题描述】:

我有一个使用 vs2005 构建的设置工作正常。 它具有自定义操作安装和卸载操作。他们在vs2005中工作正常。 我将其转换为 vs2010。 现在,当我尝试使用新构建的设置升级我的应用程序时,它无法按预期工作。 预期的方式。

  1. 运行 customActionInstall 并将注册表项保存到文件中
  2. 卸载旧版本
  3. 安装新版本
  4. 运行 customActionInstall 并恢复注册表。

可能出了什么问题?

【问题讨论】:

  • 你没有说到底出了什么问题。无论哪种方式,您可能都想考虑迁移到 Wix,它可以更清晰地控制正在发生的事情。
  • 您是否静态链接了自定义操作?自定义操作实现可能需要一个未安装的 DLL,例如 Visual C++ 运行时。
  • 当我读到它说在 VS2010 中他们改变了执行顺序。在 vs2005 中,当我们首先进行升级时,他们会删除所有内容并重新安装新版本。但是在vs2010中它不会调用卸载,只是根据版本号替换文件。

标签: visual-studio-2010 mfc visual-studio-2005 windows-installer


【解决方案1】:

由于 Thuiya 所说,这不适用于 VS 2010。在 VS 2005 中,您的自定义操作将在旧产品被卸载之前运行,它会保存注册表项。现在,在升级完成后,您的自定义操作运行得太晚了。

实际上,我相信您可能无论如何都不需要保存密钥。只要您的设置没有发生太大变化,升级就像一个更新补丁,可能不会替换条目,这是一种模糊的可能性,但从您的评论来看,它可能不起作用。所以VS 2010不会让你做你想做的事。其他工具会因为它们允许您在自定义操作运行时进行更改

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 2020-08-20
    相关资源
    最近更新 更多