C# 在安装期间运行可执行文件,并在安装后将其删除

C# 在安装期间运行可执行文件,并在安装后将其删除,c#,.net,wix,C#,.net,Wix,我有一个WIX项目,希望在复制所有文件时执行.exe。但我不希望这个.exe被“安装”。我该怎么做?原因是,我的安装程序将文件放入IIS中的虚拟文件夹中,并且在安装后不允许将.exe放在其中 我选择将文件放在一个无法通过IIS访问的文件夹中,这样在安装过程中需要运行.exe的每个安装程序都会指向该文件夹。例: <Property Id="EXEAPPLOCATION"> <DirectorySearch Id="mpfAppFolder" Depth="1" Pat

我有一个WIX项目,希望在复制所有文件时执行.exe。但我不希望这个.exe被“安装”。我该怎么做?原因是,我的安装程序将文件放入IIS中的虚拟文件夹中,并且在安装后不允许将.exe放在其中

我选择将文件放在一个无法通过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"/>


您可以使用SfxCa.exe将exe打包到自定义操作包装dll中。这将导致exe在安装期间被提取到临时目录,并在安装后被删除。然后可以使用自定义操作在安装期间执行该文件。这将是一种更干净的运行临时exe的方法。

Wix自定义操作如何?(作为安装程序一部分运行的C#代码)是的,但是我在自定义操作中找不到合适的参数来运行未安装组件的文件(FileKey)。