WiX 安装后没有 运行 bat 文件

WiX doesn't run bat file after installed it

我尝试使用 WiX Cookbook 的食谱在复制后 运行 批处理文件,但不知何故在复制后安装程序删除了文件夹和文件并且不 运行 批处理文件. 批处理文件会将两个 reg 文件注册到注册表中。 我也安装了 WixUtilExtension.dll。

<ComponentGroup Id="NewFilesGroup">
  <Component Id="A.dll64.reg" Directory="MyCommonAppDataFolder" Guid="60BDBD5E-8219-4C21-94B4-DE5F5E230C8C">
    <File Id="A.dll64.reg" KeyPath="yes" Source="A.dll64.reg" />
  </Component>

  <Component Id="B.dll32.reg" Directory="MyCommonAppDataFolder" Guid="8615ACC0-A07C-43C8-81A4-F91A8678009F">
    <File Id="B.dll32.reg" KeyPath="yes" Source="B.dll32.reg" />
  </Component>

  <Component Id="CMP_regasm_installer.bat" Directory="MyCommonAppDataFolder" Guid="5C8DBF10-6ED8-4E07-99F0-73AC43E1ACF2">
    <File Id="FILE_regasm_installer.bat" KeyPath="yes" Source="regasm_installer.bat" />
  </Component>      
</ComponentGroup>

<SetProperty Id="RunBatch"
          Value="&quot;[#FILE_regasm_installer.bat]&quot;"
          Sequence="execute"
          Before="RunBatch" />
  
<CustomAction Id="RunBatch"
        BinaryKey="WixCA"
        DllEntry="CAQuietExec"
        Execute="deferred"
        Return="check"
        Impersonate="no" />

<InstallExecuteSequence>
    <Custom Action="RunBatch" After="InstallFiles" />
</InstallExecuteSequence>

批处理文件是文本文件,不能直接执行。您需要使用cmd.exe来解释和执行批处理文件中的指令。