2012-11-30 67 views
0

我有一個WIX項目並希望在複製所有文件時執行.exe。但我不希望這個.exe被「安裝」。我怎樣才能做到這一點?原因是,我的安裝程序將文件放在IIS中的虛擬文件夾中,並且在安裝後讓.exe出現在那裏不是一個選項。在安裝過程中運行可執行文件並將其刪除後

+0

Wix自定義操作如何? (作爲安裝程序的一部分運行的C#代碼) – spender

+0

是的,但我無法在自定義操作中找到適當的參數來運行非安裝組件的文件(FileKey)。 – guiomie

回答

0

我選擇將文件放置在無法通過IIS訪問的文件夾中,以便安裝過程中需要運行.exe的每個安裝程序都指向該文件夾。例如:

<Property Id="EXEAPPLOCATION"> 
     <DirectorySearch Id="mpfAppFolder" Depth="1" Path="C:\Program Files\mypath\Tools\"> 
     <FileSearch Id="my.exe" Name="my.exe" /> 
     </DirectorySearch> 
    </Property> 


    <CustomAction Id="RunExecutable" 
        Property="EXEAPPLOCATION" 
        ExeCommand='-source="c:\test.txt"' 
        Execute="deferred" 
        Return="check" 
        Impersonate="no"/> 
0

您可以使用SfxCa.exe將exe包裝到自定義操作包裝器dll中。這會導致exe在安裝過程中被解壓到一個臨時目錄並在之後被刪除。然後可以使用自定義操作在安裝期間執行該文件。這將是一個更簡潔的方法來運行臨時EXE。

相關問題