2017-09-25 102 views
0

我正在嘗試爲我的應用程序安裝Visual C++可再發行程序以及.msi。但是,當我去安裝該項目,我不斷收到「另一個安裝目前運行錯誤」。這裏是我的bundle.wxs文件:如何從Wix安裝程序引導項目安裝vcredist.exe文件

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
<Bundle Name="Application" Version="1.0.0.0" Manufacturer="Manufacturer" UpgradeCode="6c5daa41-4ce9-4f20-94b2-2471a6932542"> 
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" /> 
    <Chain> 
     <!-- TODO: Define the list of chained packages. --> 
     <!-- <MsiPackage SourceFile="path\to\your.msi" /> --> 
     <PackageGroupRef Id="MyPackage" /> 
     <MsiPackage Id="MyApplication" SourceFile=".\Application.msi"/> 
    </Chain> 
</Bundle> 
<Fragment> 
    <PackageGroup Id="MyPackage"> 
     <ExePackage Id="VisualCPlusPlus32Bit" 
       DisplayName="Microsoft Visual C++" 
       SourceFile=".\vcredist_x86.exe" 
       Vital="no" 
       InstallCommand="/q /ACTION=Install" 
       DetectCondition="NOT VersionNT64"/> 
     <ExePackage Id="VisualCPlusPlus64Bit" 
       DisplayName="Microsoft Visual C++" 
       SourceFile=".\vcredist_x64.exe" 
       Vital="no" 
       InstallCommand="/q /ACTION=Install" 
       DetectCondition="VersionNT64"/> 
    </PackageGroup> 
</Fragment> 
</Wix> 

我看過的文檔的威克斯這tutorial,但我仍然無法得到Visual C++的第一次安裝無需兩臺安裝庫同時運行。 謝謝!

+0

您確定這些是正確的命令來運行您的安裝?我有幾個不同的安裝命令版本(感謝MS),如「/ install/quiet/norestart」,「/ Q/C:" msiexec/i vcredist.msi/qn "」,「/ quiet」。運行引導程序時,您還可以查看在%temp%中創建的日誌文件,查看失敗的程序包。 –

+0

@BrianSutherland在彈出Visual C++安裝窗口時,似乎正在調用安裝。但是,只有在我的應用程序的安裝屏幕後纔會彈出。似乎vcredist.exe在我的.msi運行之前沒有完成。 – MisterMystery

+0

我可能在某個點上遇到過某個vcredist包的這個問題。會發生什麼情況是EXE實際解包並啓動另一個程序然後退出,而另一個程序繼續(真正的安裝)引導程序認爲安裝完成,因爲啓動的程序退出0並繼續安裝其他軟件包。您應該能夠從cmd行運行安裝程序進行測試。你可以反覆安裝vcredist,所以不用擔心爲了測試而多次運行它。 –

回答

0

請參閱How To: Install the Visual C++ Redistributable with your installer。此方法使用合併模塊將Visual C++可再發行組件包含在您的msi中,而不是將vcredist作爲單獨的安裝程序運行。

+0

這使我朝着正確的方向前進。我能夠得到[this](https://docs.microsoft.com/en-us/cpp/ide/walkthrough-deploying-a-visual-cpp-application-to-an-application-local-folder)解決方案爲我工作。謝謝! – MisterMystery