2015-02-11 112 views
4

是否有任何方法基于旧的MSI安装程序和新的MSi安装程序创建次要升级(补丁文件即.msp)或msi。我们希望为客户提供次要升级补丁(.msp或.msi0,其中仅包含更改
1)我已创建(旧)Test.msi,基于4个.wxs文件。这4个wxs文件有助于安装向导步骤。下面是例子。MSI WIX:使用2个MSI创建次要升级补丁

Welcome.wxs文件:我们与我们的项目形象 Main.wxs的参考刚才提到的欢迎邮件文件:包含WXS sourcse文件的compononets和功能的实际脚本。 InstallerPath.wxs:凡用户可以选择自己的安装路径

LicenseAgrement.wxs:许可aggrement mentione对话框文件。

2)我只更改了产品版本号并修改了几个我的项目文件,并添加了几个新文件。
3)然后,我创建了(新)Test.msi,基于这4个.wxs文件。
4)通过使用这些旧的和新的安装程序,我如何genreate修补程序(.msp或.msi)为次要升级。

回答

3

如果你想这样做,两个MSI的,那么这是一个出发点:

http://wixtoolset.org/documentation/manual/v3/patching/patch_building.html

再就是威克斯补丁:

http://wixtoolset.org/documentation/manual/v3/patching/wix_patching.html

或作为第一个变化一,您可以创建自己的.CPCP文件并从Windows套件运行msimsp,如下所述:

https://msdn.microsoft.com/en-us/library/aa367816(v=vs.85).aspx

+0

感谢PhilDW。在上面的URL中,他们提到了使用单个wxs文件创建修补程序的过程。并且他们通过使用torch commmnad与.wixpdb文件(它仅从一个wix源文件生成)创建diff.wixmst(torch.exe -p -xi 1.0 \ product.wixpdb 1.1 \ product.wixpdb -out patch \ diff。 wixmst)。 **我的问题在这里,如果我们有多个WIX sourse文件,并且使用msi(旧安装程序和新安装程序)创建diff.wixmst?**) – mallikgm 2015-02-12 12:08:52

+0

修补程序需要Windows SDK情况下的两个MSI文件,运行带有pcp文件的msimsp,这是两个MSI文件场景。 WiX有一些基于Xml文件的帮手。这里描述了三种常用方式,我会选择适合您的具体情况的方法。 – PhilDW 2015-02-12 19:47:15

+0

感谢PhilDW。现在可以创建补丁。但修补程序更改不反映(使用修补程序安装)。我能够在“程序和功能”和补丁信息(在“已安装的更新”中)中看到版本更改。其实我的main.wxs引用另一个文件.msm(我们有一个文件夹“AppHome”,其中包含应用程序主文件,并通过使用热量来收集它,并生成app_home.wxs并使用蜡烛和光源生成app_home.msm)在我们的main.wxs(我们配置所有快捷方式,另一个批处理文件和帮助,手册pdf)中引用并生成最终的MSI。 – mallikgm 2015-02-19 11:38:18

1

只是提供了一个链接,作为最后一个链接的附加信息,PhilDW已经给出了:如果您想通过自己的应用程序/框架调用修补程序生成功能,那么可以使用它。然后,您可以直接从MS直接定位PatchWiz.dll,而无需使用msimsp。

https://msdn.microsoft.com/en-us/library/aa370590%28v=vs.85%29.aspx

但MsiMsp当然是一个简单的第一项。基本上它只是这个DLL的外壳。

但是:创建.pcp文件并不是每个人都喜欢的...为希望深入此处的人保留。 但是如果你想要它,一旦你理解了所有的点,它可能比手动更安全。