windows - 在 Windows Installer Commit 中运行批处理文件

标签 windows windows-installer custom-action

在安装主输出后,我无法成功修改 Windows Installer MSI 以运行批处理文件。我搜索了这个并找到了很多建议,但没有任何效果。

添加自定义操作
自定义 Action 只能是可执行文件。批处理文件不可执行。

创建运行批处理文件的 Windows 脚本宿主可执行文件
很多人都尝试这样做,包括在 SO 上,而且没有人能够让它发挥作用。

使用 WIX 或 InstallShield
我没有时间或权限更改公司安装程序技术。

使用 Orca 编辑 .msi 并添加自定义属性,然后添加自定义操作,然后编辑 InstallExecuteSequence,...
我已经尝试了几个小时,但只创建了在我运行时会抛出系统错误的安装程序。

最佳答案

你上面说的不正确:

Custom actions can only be executable files. A batch file is not executable.

自定义操作(即使没有像 InstallShield 这样的工具)可以是基于 .EXE、VBScript、JScript 或 DLL 的。如果您编写一个 DLL,您可以编写任何您想要调用批处理文件的代码或对系统进行任何您想要的更改——没有限制。

更新:一个对我有用的例子:(CustomAction 表中的条目)

Action Test
Type 34
Source SystemFolder
Target cmd.exe /c c:\test.bat
ExtendedType <blank>

关于windows - 在 Windows Installer Commit 中运行批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/998703/

相关文章:

windows - Qt 应用程序在 Windows 下看起来和感觉起来是原生的吗?

c - Windows 中的多线程 - 创建函数指针数组时出错

java - 如何使用 mysql 为应用程序 Java swing 创建安装程序

WIX:将文件复制到另一个分区中的自定义目录

wix - ProgressText 不适用于 WiX 中的自定义操作

c - 在任务调度程序中运行C程序时出错

mfc - "Nobody should be using MFC any more"为什么?

installation - 如何制作仅包装EXE文件的MSI

c++ - 如何根据自定义操作中设置的属性安装功能?

c# - 如何通过调用带字符串参数的 WiX 自定义操作的 Installshield 创建自定义操作?