1

我过去经常遇到这个问题,但从未真正找到答案。当我在 Visual Studio 2008 中创建一个安装工具包时(我的项目通常在 VB 中,如果它改变了一些东西),它似乎一切正常。但是,当我部署新版本的安装套件时,会发生一些奇怪的事情:

安装进行得很好(它检查版本以查看它是否与通常一样),在注册表中进行了更改(我假设注册表或 Windows 存储其数据的任何位置以“添加”删除其操作系统的程序部分),但文件没有更改,所以我仍然坚持使用旧版本!

如果我尝试安装旧版本,它会告诉我新版本已安装,因此不允许安装,确认在安装过程中某些内容已更改。此外,当我尝试重新安装较新版本时,我会得到通常的删除和修复选项。然后,如果我修复,什么都不会改变。如果我删除它,则应用程序已成功删除。我是否应该尝试从头开始重新安装较新的安装工具包(在新 PC 上,从“添加-删除程序”选项中删除它或使用安装工具包中的“删除”选项),然后安装较新的版本。

它对我在 2008 年所做的每个项目都这样做,我很确定我做的一切都是正确的,因为我对 VS.2005 项目做同样的事情并且它们工作正常。这是 2008 年的已知问题吗?有解决办法吗?

谢谢

4

2 回答 2

2

对于 vs2008 中的 windows 安装程序,有两个重要的版本。一种是安装程序项目本身属性中的版本。更改安装程序版本会导致弹出窗口要求您对产品代码进行类似的更改。如果我没记错的话,升级这个版本本质上会创建一个不同的安装包,它会覆盖现有的安装目标(vb 应用程序)并最终导致版本不匹配。

另一个版本在您的 vb 应用程序上,是您的 vb 应用程序项目属性的应用程序选项卡中的程序集或文件版本。

根据您的投诉,听起来您正在更改安装程序版本,而您应该更改您的 vb 应用程序的程序集版本。

我可能有这个倒退,自从我使用 vs 安装程序以来已经有一段时间了。

于 2009-11-16T10:57:47.587 回答
0

您的有效负载中是否有 VERS 资源?也许安装程序检测到您正在安装的应用程序/dll 的版本没有更改(从 0.0.0.0 到 0.0.0.0)。

如果您没有 vers,请添加它并查看它是否有帮助。

祝你好运。

于 2009-11-13T18:25:36.280 回答