2013-05-01 63 views
2

我寫了一個自定義Managed Bootstrapper Application(MBA),並獲得了大部分功能,除了修復。檢查包的日誌提供:使用WiX'刻錄'和自定義MBA - 在NetFx45Web軟件包上修復失敗

[335C:3440][2013-04-29T13:51:41]w343: Prompt for source of package: 
NetFx45Web, payload: NetFx45Web, path: 
D:\dev\Setup\redist\dotNetFx45_Full_setup.exe 
[335C:3440][2013-04-29T13:51:41]e054: Failed to resolve source for file: 
D:\dev\Setup\redist\dotNetFx45_Full_setup.exe, error: 0x80070002. 
[335C:3440][2013-04-29T13:51:41]e000: Error 0x80070002: Failed while 
prompting for source (original path 
'D:\dev\Setup\redist\dotNetFx45_Full_setup.exe'). 
[335C:3440][2013-04-29T13:51:41]e313: Failed to acquire payload: NetFx45Web 
to working path: 
C:\Users\admin\AppData\Local\Temp\{ab28ebc1-ce07-49bf-bb1f-bb83a4944aeb}\NetFx45Web, 
error: 0x80070002. 
[335C:164C][2013-04-29T13:51:41]e000: Error 0x80070002: Failed while 
caching, aborting execution. 
[335C:164C][2013-04-29T13:51:41]i399: Apply complete, result: 0x80070002, 
restart: None, ba requested restart: No 
[335C:164C][2013-04-29T13:51:43]i500: Shutting down, exit code: 0x80070002 
[335C:164C][2013-04-29T13:51:43]i410: Variable: ArpSystemComponentCustom = 1 
[335C:164C][2013-04-29T13:51:43]i410: Variable: NETFRAMEWORK45 = 378389 

有趣的是,即使主日誌文件填充包特定日誌文件的變量名,燒傷實際上並沒有產生該文件。我的猜測是,在它可以這樣做之前它失敗了。

我已經包括NetFx45Web包在我的WiX捆綁爲:

<PackageGroupRef Id="NetFx45Web"/> 

我BootstrapperCore.config如下:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <sectionGroup name="wix.bootstrapper" 
         type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperSectionGroup, 
         BootstrapperCore"> 
      <section name="host" 
        type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.HostSection, 
        BootstrapperCore" /> 
     </sectionGroup> 
    </configSections> 

    <startup useLegacyV2RuntimeActivationPolicy="true"> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/> 
    </startup> 
    <wix.bootstrapper> 
     <host assemblyName="MyCustomMBA"> 
      <supportedFramework version="v4\Full"/> 
      <supportedFramework version="v4\Client"/> 
     </host> 
    </wix.bootstrapper></configuration> 

我已經看過相關的郵件列表線程:

和我有ResolveSource事情,因爲討論的,覆蓋。

爲什麼這可能會導致修復失敗?安裝/卸載工作得很好。

+1

Rob的回答指出了我的正確方向。我的代碼中有一個與ResolveSource事件處理程序有關的錯誤,它導致修復失敗,因爲Result.Download沒有在回調中返回,即使它看起來如此。 – Manas 2013-05-01 20:39:36

回答

4

錯誤0x80070002表示無法找到該文件。它也不會從日誌文件中看到ResolveSource()回調返回Result.Download指示Burn引擎嘗試從Internet重新獲取.NET Framework。如果引導程序應用程序(BA)返回Result.Download,您會看到有關從某個URL獲取NETFX4.5負載的日誌條目。