【发布时间】:2015-04-21 05:47:12
【问题描述】:
我在使用 MSM(合并模块)安装(更新)补丁(次要升级)时遇到问题。 我正在使用 texst.wxs 创建 MSI (test.msi)。而text.wxs里面指的是app.msm文件(有一个文件夹app,里面有这么多的文件夹和文件。然后收割这个文件夹,制作app.msm文件)
以下是制作 app.msm 文件的步骤。
heat dir "app" -gg -sfrag -template:module -srd -ke -var var.source -out app.wxs
candle -dsource=app app.wxs
light app.wixobj
下面是test.wxs文件的sn-p
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='ProgramFilesFolder' Name='PFiles'>
....
....
<Directory Id='Config' Name='Config'>
<Component Id='APP_CLIENT' Guid='*'>
<Component Id='Manual' Guid='*'>
<File Id='Manual' Name='Manual.pdf' DiskId='1' Source='Resources/Manual.pdf'
KeyPath='yes'>
<Shortcut Id="startmenuManual" Directory="ProgramMenuDir"
Name="Instruction Manual" Advertise="yes" />
</File>
</Component>
</Directory>
<Directory Id='exmp_REPO' Name='!(loc.Merge_FolderTitle)'>
<Merge Id="LocalRepository" Language="1033" SourceFile="app.msm" DiskId="1"/>
<Component Id='exmp_REPOSITORY' Guid='*'>
<CreateFolder/>
<RemoveFolder Id='exmp_REPO' On='uninstall' />
</Component>
</Directory>
....
<Feature Id='Complete' Display='expand' Level='1' ConfigurableDirectory='MYAPPPATH'>
<ComponentRef Id='Manual'/>
<ComponentRef Id='App_CLIENT'/>
<ComponentRef Id='exmp_REPOSITORY'/>
... ...
我可以使用 app.msm(合并模块)对我的 test.wxs 进行重大升级。但无法成功安装补丁。补丁安装(更新)反映在“程序和功能”中的版本更改并显示在“查看已安装的更新”中。手动更改也反映在补丁更新中。但无论“app”(创建 app.msm 并在 test.wxs 中引用)文件夹中的任何更改都没有反映。
我使用了2种方法来制作补丁,在下面的url中提到了
1) http://wixtoolset.org/documentation/manual/v3/patching/patch_building.html
2)http://wixtoolset.org/documentation/manual/v3/patching/wix_patching.html
请在这方面提供帮助。
【问题讨论】:
标签: wix patch wix3.6 windows-installer