我有在 .NET 3.5 上运行的 winForm 应用程序。我正在使用 VS 2010,我的启动项目“WinFormUI”引用了其他库。
我使用称为目标安装程序的 VS 2010(保留 .NET 3.5)创建了 MSI 安装程序并安装了应用程序。添加/删除程序确认安装初始版本 1.0.0。安装程序属性 RemovePreviousVersion=True。
现在我通过添加 MessageBox("This is updated project") 更改我的启动项目“WinFormUI”,并将我的启动项目 winFormUi.exe 的程序集版本从 1.0.0.0 更改为 1.0.0.1。
创建了第二个升级的 MSI,并将安装程序的版本从 1.0.0 更改为 1.0.1,但保持“产品代码”相同。
按照http://www.codeproject.com/install/dotnetpatching.asp和 http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/7dda2e5f-70df-47d5-a62d-100a2bfd0394的步骤 .
我有 Windows SDK V7.1,其中包含 MsiMsp.exe 5.0 版和 Ocra 5.0 版。
我的 PCP 文件有以下数据。
ImageFamilies 表:家庭-> fam1
MsiPatchSequence 表:PatchFamily -> fam1;序列 -> 1.0.0
属性表:MinimumRequiredVersion -> 200 和其他列
TargetImages 表:IgnoreMissingSrcFiles -> 0 和其他列
UpgradedImages 表:Family -> fam1 和其他列
使用 MsiMsp.exe 生成 MSP 并使用 msiexec /p 运行。
它运行安装程序(补丁)。升级后添加/删除程序确认升级版本 1.0.1 但问题是我的更改在我运行我的 exe 时没有反映。即,我已经修改为显示一个 MessageBox(“这是更新的项目”)。
难道我做错了什么 ?需要帮助。谢谢。