我在浏览网页时没有看到这个问题,所以这里是:
我使用 .msi 文件(与右键单击 -> 安装,安装项目上的选项相比)将“1.0.7 版”产品安装到我的计算机上。
然后我将“版本”更改为 1.0.8 ,并将所有项目的 Assembly Version/AssemblyFileVersion 属性更改为 1.0.8.0。我删除了旧的主输出,并在 KeyOutput 扩展列表下添加了一个新的,以确保版本正确。我这样做是因为在我将所有程序集版本更改为 1.0.8.0 后它没有更新,并且它保持在 1.0.7.0(以前的版本)。
我构建了我的安装项目并转到包含新 1.0.8 .msi 文件的文件夹。我双击并得到“应用程序已经存在,在添加/删除程序中删除现有”(或类似)对话框,它停止了安装。
所以我检查了我的:
ProductCode - 它们在新/旧版本之间是相同的,
UpgradeCode - 也相同,两个版本之间的
RemovePreviousVersion属性设置为True 。这是我检查的,因为我通常在所有其他搜索中都找到了解决方案,但它不起作用。
所以我卸载了 1.0.7 版本,安装了 1.0.8 并且一切正常。仍然没有解决我不应该得到 unistall 第一个提示的问题。注意:我一直在“所有人”上安装。
我再次卸载了 1.0.8(此时,不存在/未安装任何版本),并尝试了以下操作:
1. 从 .msi 文件安装 1.0.7或通过右键单击其安装项目并使用“安装”安装 1.0.7选项。
2. 右键单击 1.0.8 安装项目并从那里使用安装选项。
3.没有错误/对话框弹出,老版本好像先卸载了,然后我继续安装,新版本在电脑上。这就是我要的!
正如你在这里看到的,我需要能够使用 1.0.7 .msi 文件来安装,然后当我需要修补/修复/更新时,我需要能够 1.0.8 .msi 不显示“已经存在" 提示并只是覆盖/合并,但除非我使用 VS2010 右键单击>,否则这不会发生
任何帮助表示赞赏。
编辑添加粗体