在安装项目中替换现有文件后,无法查看最近的更新

时间:2013-01-28 09:43:36

标签: c# installation windows-applications

我已经为Windows应用程序创建了一个安装项目。我已设置以下属性以使用新版本替换现有版本。

RemovePreviousversion=True;
Productcode=change;

但是当我从新安装的版本运行exe时。我看不到我的新更新。它给了我以前版本的输出!

整个解释就在这里

我将RemovePreviousVersions设置为TRUE,将InstallAllUsers设置为TRUE。

当我需要执行新版本时,我在安装程序中使用新版本号更新版本字段,VS会提示我更新产品代码,我回答是。我已经确认它确实改变了产品代码,但包代码也随之改变(通过使用sourcesafe来区分项目文件进行验证)。

UpgradeCode永远不会在版本之间发生变化。

我的版本号更改形式为:“1.1.2” - >例如“1.1.3”(以防万一与之有关)。

因此,构建之间只有3个字段不同:ProductCode,PackageCode和ProductVersion。

当我完成所有这些后,我构建了安装程序。 当我安装新版本(我总是为所有用户安装并始终安装到同一目录中)时,我在不同时间看到了三种不同的结果:

  1. 它似乎在安装新版本时,但我真的最终仍然存在旧文件(以及添加/删除程序中的一个实例)。
  2. 我最终在添加/删除程序中添加了2个应用程序实例,这两个实例都具有相同的名称,并且都指向同一目录。
  3. 首先卸载旧的,然后安装新的(它应该做什么)。
  4. 向用户解释为了安全起见,他们必须在安装新版本之前手动卸载旧版本,这是非常令人沮丧的,因为我必须告诉他们“它并不总是像它应该的那样卸载旧版本” 。

    有什么建议吗?为什么这不起作用?我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

我找到了答案。

还需要在AssemblyInfo.cs中更改 AssemblyVersion AssemblyFileVersion