下面是兩個非常基本的刻錄引導程序的源代碼。引導程序安裝2個MSI程序包,然後SP1在appdata MSI程序包上執行主要升級。最初這個工作得很好,只是我有幾個維修探頭。Wix補丁包服務
當我刪除父引導程序時,它足夠聰明,可以刪除子SP1修補程序。但是,當我從添加/刪除程序中刪除SP1更新時,根本沒有安裝任何應用程序數據。我必須對原始引導程序包執行修復以重新安裝原始版本的應用程序數據。這是一個錯誤還是我執行它錯了?
我可以自己安裝SP1包。如果Bootstrapper尚未安裝,如何防止安裝SP1?
如果我創建了Bootstrapper 2.0,它將正確地取代Bootstrapper 1.0和SP1。如果我運行Bootstrapper 1.0,它會正確阻止。但是如果我運行SP1,它會安裝。我如何限制SP1到Bootsrapper v1?
如果前兩項目前不可能,是否可以創建一個不可移動的SP1? (強制刪除並重新安裝父包以恢復到原始狀態。)我看到如何使用DisableRemove和DisableModify屬性,但它根本不會在「添加/刪除程序」中顯示,用戶仍然可以返回EXE並使用WiXStdBA刪除軟件包。
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Bundle Manufacturer="ISWIX" Name="Bootstrapper" UpgradeCode="44a1059e-e7f7-46c7-9627-b720d6417d69" Version="1.0.0.0"> <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/> <Chain> <MsiPackage SourceFile="app-1.0.msi"/> <MsiPackage SourceFile="appdata-1.0.msi"/> </Chain> </Bundle> </Wix> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Bundle Manufacturer="ISWIX" Name="SP1" ParentName="Bootstrapper" UpgradeCode="44a1059e-e7f7-46c7-9627-b720d6417d69" Version="1.0.0.1"> <RelatedBundle Action="Patch" Id="44a1059e-e7f7-46c7-9627-b720d6417d69"/> <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/> <Chain> <MsiPackage SourceFile="appdata-1.1.msi"/> </Chain> </Bundle> </Wix>
對不起,我張貼的XML,但它不會渲染。這是我可以拿出來分享的最好的。 –
爲什麼不使用代碼示例{}來粘貼實際的XML。 – Isaiah4110
我一遍又一遍地嘗試。當我粘貼XML時,它不會顯示所有內容。當我把它放在引用塊或代碼塊中時,它顯得很奇怪。 –