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=""[#FILE_regasm_installer.bat]""
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
来解释和执行批处理文件中的指令。
我尝试使用 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=""[#FILE_regasm_installer.bat]""
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
来解释和执行批处理文件中的指令。