我已经为Windows应用程序创建了一个安装项目。我已设置以下属性以使用新版本替换现有版本。
RemovePreviousversion=True;
Productcode=change;
但是当我从新安装的版本运行exe
时。我看不到我的新更新。它给了我以前版本的输出!
整个解释就在这里
我将RemovePreviousVersions设置为TRUE,将InstallAllUsers设置为TRUE。
当我需要执行新版本时,我在安装程序中使用新版本号更新版本字段,VS会提示我更新产品代码,我回答是。我已经确认它确实改变了产品代码,但包代码也随之改变(通过使用sourcesafe来区分项目文件进行验证)。
UpgradeCode永远不会在版本之间发生变化。
我的版本号更改形式为:“1.1.2” - >例如“1.1.3”(以防万一与之有关)。
因此,构建之间只有3个字段不同:ProductCode,PackageCode和ProductVersion。
当我完成所有这些后,我构建了安装程序。 当我安装新版本(我总是为所有用户安装并始终安装到同一目录中)时,我在不同时间看到了三种不同的结果:
向用户解释为了安全起见,他们必须在安装新版本之前手动卸载旧版本,这是非常令人沮丧的,因为我必须告诉他们“它并不总是像它应该的那样卸载旧版本” 。
有什么建议吗?为什么这不起作用?我在这里缺少什么?
答案 0 :(得分:1)
我找到了答案。
还需要在AssemblyInfo.cs中更改 AssemblyVersion 和 AssemblyFileVersion