【发布时间】:2012-06-09 00:24:09
【问题描述】:
我需要使用 Visual Studio 构建一个 .msi 文件,该文件将执行一些我在 .bat 中具有自定义操作的命令。我知道我可以通过进入 .msi 并更改表格来实现这一点,我已经让它工作了,但这只是一个简短的修复,我需要让它工作。特别是我想在卸载时执行我的自定义操作。
我尝试的第一件事是编写一个名为 .bat 的 .exe。它可以独立工作,但是每当我将文件放入文件系统并让自定义操作运行 .exe 时,它就无法正常工作。谁知道为什么..
我做的另一件事是让自定义操作使用 cmd.exe 和我的 .bat 作为参数。我在卸载过程中遇到错误,事件查看器使用 /c "[TARGETDIR]batfile.bat 将其缩小到 cmd.exe,与https://stackoverflow.com/a/6286046/1427105 非常相似。
有什么想法可以帮到我吗?
【问题讨论】:
-
cmd 的错误信息是什么?还是根本没有开始?您可以将
/c更改为/k进行测试:使用/k它执行批处理,然后保持交互。输入exit关闭会话。 -
它可能会失败,因为您在卸载过程中删除了 BAT 文件后尝试启动它。你检查过吗?
-
错误是:'C:\Program' 不是内部或外部命令、可运行程序或批处理文件。我的批处理文件是: cd "C:\inetpub" pause 很明显,我稍后会有一个不同的批处理文件,但这就是我正在做的事情,直到我可以让它工作为止。这台机器上确实存在inetpub。如果我在我的项目中运行 cmd.exe 并运行 test.bat 它工作正常。只能通过这个卸载..
-
是的,我已经检查了自定义操作在被删除之前是否正在发生。
标签: visual-studio-2010 windows-installer uninstallation cmd