2012-08-23 15 views
0

我需要讓自定義動作以x64位進程運行,並且正在使用Visual Studio 2010.當我運行msi時,我在詳細日誌文件中看到以下條目:WIX自定義動作以32位進程運行

你好,我是你的32位高架自定義操作服務器

和自定義操作失敗,因爲錯誤的處理器架構(我是通過一個批處理文件調用DISM.exe)。我的項目是相當簡單:

<DirectoryRef Id="APPLICATIONROOTDIRECTORY" > 
     <Component Id="Launch.cmd" Guid="{423CD408-F053-496B-8FA7-6C329A2F53BB}" Win64="yes"> 
      <File Id="Launch.cmd" Name="Launch.cmd" Source="C:\Temp\Build\MSU Wrapper for SCUP\Launch.cmd" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64"/> 
     </Component> 
     <Component Id="KB977453.cab" Guid="{E8ABB2AE-6F57-4153-B44C-E1083D6702B1}" Win64="yes"> 
      <File Id="KB977453.cab" Name="KB977453.cab" Source="C:\Temp\Build\MSU Wrapper for SCUP\KB977453.cab" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64"/> 
     </Component> 
    </DirectoryRef> 

    <Feature Id="MainApplication" Title="Main Application" Level="1"> 
     <ComponentRef Id="Launch.cmd" /> 
     <ComponentRef Id="KB977453.cab" /> 
    </Feature> 

    <CustomAction Id="BatchCmd" Property="BatchRun" Value="&quot;[#Launch.cmd]&quot; KB977453" Execute="immediate"/> 
    <CustomAction Id="BatchRun" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check" Impersonate="no" /> 

    <InstallExecuteSequence> 
     <Custom Action="BatchCmd" Before="BatchRun">NOT Installed</Custom> 
     <Custom Action="BatchRun" After="InstallFiles">NOT Installed</Custom> 
     <ScheduleReboot After="InstallFinalize" /> 
    </InstallExecuteSequence> 

</Product> 

我在Visual Studio中配置管理器中選擇64位版本。有沒有人有什麼錯誤的想法?

+0

嗨,不是所有我的代碼得到了貼,所以這裏是第一部分:\t \t <包InstallerVersion = 「200」 壓縮= 「是」 InstallScope = 「perMachine」 平臺= 「64」/> \t \t <媒體ID = 「1」 內閣= 「MSUWrapper.Cab」 EmbedCab = 「是」/> \t \t <目錄ID = 「TARGETDIR」 Name =「SourceDir」> \t \t \t <目錄ID = 「ProgramFiles64Folder」> \t \t \t \t <目錄ID = 「APPLICATIONROOTDIRECTORY」 名稱= 「Maxwell_KB977453」/> \t \t \t \t \t – MattGrimshaw

回答

相關問題