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事情,因爲討論的,覆蓋。
爲什麼這可能會導致修復失敗?安裝/卸載工作得很好。
Rob的回答指出了我的正確方向。我的代碼中有一個與ResolveSource事件處理程序有關的錯誤,它導致修復失敗,因爲Result.Download沒有在回調中返回,即使它看起來如此。 – Manas 2013-05-01 20:39:36