2013-06-25 93 views
2

我已經構建了一個具有依賴關係的應用程序包的基本安裝程序,它處理.NET包的重新啓動。但是,我現在運行的是卸載操作僅卸載程序列表中顯示的安裝程序本身的問題。運行安裝進程的所有其他.exe文件仍保持安裝狀態。有沒有簡單的方法來處理這個安裝?我對WiX工具集仍然很陌生,並且不想深入到自定義安裝程序中。這是我的包:WiX卸載功能與StandardBootstrapperApplication

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
    xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" 
    xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" 
    xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> 
    <Bundle Name="Visible EP Installer" Version="1.0.0.0" Manufacturer="VEP" UpgradeCode="8d1a4e2a-be3f-4b51-824b-75652ae98bad"> 
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" > 
     <bal:WixStandardBootstrapperApplication 
      LicenseFile="..\VisibleEP EULA-ver2.rtf" 
      LogoFile="..\VEPLogo_HeartOnlyBlack(50x50).png" 
     /> 
    </BootstrapperApplicationRef> 
    <?define NetFx45MinRelease = 378389?> 
    <util:RegistrySearch 
     Id="NETFRAMEWORK45" 
     Variable="NETFRAMEWORK45" 
     Root="HKLM" 
     Key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" 
     Value="Release" 
     Result="value" /> 
    <Chain> 
     <ExePackage Id="NetFx45Redist" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes" InstallCommand="/q /norestart" RepairCommand="/q" 
       SourceFile="..\VEP Deploy\Setup Files\dotNetFx45_Full_setup.exe" 
       DetectCondition="NETFRAMEWORK45 &gt;= $(var.NetFx45MinRelease)" 
       InstallCondition="(NOT NETFRAMEWORK45 &gt;= $(var.NetFx45MinRelease))"> 
     <ExitCode Value="1641" Behavior="forceReboot"/> 
     <ExitCode Value="3010" Behavior="forceReboot"/> 
     <ExitCode Value="0" Behavior="success"/> 
     <ExitCode Behavior="error"/> 
     </ExePackage> 
     <ExePackage 
     SourceFile="..\VEP Deploy\Setup Files\Encoder_en.exe" 
     Permanent="no" 
     InstallCommand="/q" 
     RepairCommand="/q"> 
     <ExitCode Behavior="success"/> 
     </ExePackage> 
     <ExePackage 
     SourceFile="..\VEP Deploy\Setup Files\vcredist_x86.exe" 
     Permanent="no" 
     InstallCommand="/q" 
     RepairCommand="/q"> 
     <ExitCode Behavior="success"/> 
     </ExePackage> 
     <ExePackage 
     SourceFile="..\VEP Deploy\Setup Files\vcredist_x64.exe" 
     Permanent="no" 
     InstallCommand="/q" 
     RepairCommand="/q"> 
     <ExitCode Behavior="success"/> 
     </ExePackage> 
     <ExePackage 
     SourceFile="..\VEP Deploy\Setup Files\vep_setup.exe" 
     Permanent="no"> 
     <ExitCode Behavior="success"/> 
     </ExePackage> 
     </Chain> 
    </Bundle> 
</Wix> 

我知道處理的退出代碼在過去的幾年是一個有點hackish,但我不是所有的關心,在目前,只要它不影響我的其他問題。

回答

3

您必須提供UninstallCommand屬性值,以便Burn知道如何卸載.exes。

+0

確定什麼樣的命令行參數可以傳遞給uninstall命令?我只是試過了,它似乎沒有工作 –

+0

任何字符串。 .exe包可以是任何東西,所以刻錄不能假定每個操作都有一個標準開關。嘗試「/卸載」開始。 –

+0

它的工作表示感謝!任何想法如何阻止引導程序自行安裝? –