2016-03-09 190 views
0

我有一個將安裝MSI軟件包的引導程序。但是在卸載Bootstrapper時,它不會卸載以前由Bootstrapper安裝的MSI。從引導程序卸載時卸載MSI軟件包

如何在卸載引導程序的同時卸載MSI軟件包?以下是我在Bootstrapper中安裝MSI軟件包的方法。如何增強此代碼在卸載時卸載此MSI軟件包?

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
    xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> 
    <Bundle Name="Name" Version="1.0.0.0" Manufacturer="MyCompany" UpgradeCode="00000000-0000-0000-0000-000000000000" DisableModify="yes" DisableRepair="yes" > 

    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense"> 
    <bal:WixStandardBootstrapperApplication 
     LicenseUrl="" 
     ThemeFile=".\Theme\RtfTheme.xml" 
     LocalizationFile=".\Theme\RtfTheme.wxl" 

     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" /> 
     <Payload SourceFile=".\Images\Logo.gif" /> 
    </BootstrapperApplicationRef> 

     <Chain> 
       <PackageGroupRef Id="MyMSI"/> 
     </Chain> 
    </Bundle> 

    <Fragment> 

    <PackageGroup Id="MyMSI"> 
     <MsiPackage Id="MyMSI" 
        DisplayName="My applicaton" 
        DisplayInternalUI="yes" 
        Compressed="no" 
        Visible="yes" 
        InstallSize="549" 
        Cache="yes" 
        Vital="yes" 
        Permanent="no" 
        SourceFile="$(var.MyAppllicationWIX_MSI.TargetPath)"/> 
    </PackageGroup> 
    </Fragment> 
</Wix> 

回答

0

可能是您的註冊表不好,請檢查%temp%文件夾部分計劃中的日誌。 日誌文件將指出MSI是否仍由另一個Bundle引用計數。

如果您正在VM上運行測試,請在運行此軟件包上的測試之前嘗試重置爲最新檢查點。

也有時產品ID是*它發生。

+0

我在日誌文件中發現了**不會卸載軟件包:MyApplication,找到依賴項:1 **我該如何解決這個問題? –

+0

在註冊表中搜索列爲依賴關係的GUID並將其刪除。 –