我已使用以下线程中的脚本:Run exe after msi installation?和以下站点:Mailbag: How can I customize an MSI in the Visual Studio setup/deployment project?
显示完成的对话框中的复选框,但按完成后我的应用程序无法启动。什么都没发生。
我尝试了不同的方式:
sql = "INSERT INTO `CustomAction` (`Action`, `Type`, `Source`, `Target`) VALUES ('VSDCA_Launch', '210', '" + fileId + "', '')";
或
sql = "INSERT INTO `CustomAction` (`Action`, `Type`, `Source`, `Target`) VALUES ('VSDCA_Launch', '226', 'TARGETDIR', 'MyProgram.exe')";
有什么想法吗,或者可以调试脚本或编写带有更多信息的日志以找出究竟什么不起作用?该应用程序需要管理员权限。这有关系吗?
答案 0 :(得分:1)
格式化 :
notepad.exe
有效的事实可能意味着您需要完整路径(notepad.exe
在系统路径中,并且可以 因此无需路径即可调用,其他二进制文件则需要完整路径。您是否尝试像
[#filekey]
那样执行[#MyProgram.exe]
“目标”字段中的值?引用必须匹配文件表 条目。因此,请查看文件表的第一列, 确定文件标识符是什么,并在目标中使用它 字段。查看Formatted的文档。
WiX? :顺便说一下,是否可以迁移到WiX?不会惹恼您,但会长期there are some major problems with Visual Studio Projects 采用。也许可以快速浏览一下。
文件表 :
快捷方式表 :
在下面留下原始答案:
快速测试 :也许首先检查一下:What VSDCA_Launch mean in Custom Action script
日志记录 :是否启用了日志记录功能以确定发生了什么?请检查the Logging section in this answer,以获取快速的“操作方法”。
干运行 :我想您可以在其中而不是您自己的可执行文件中滑动 notepad.exe
来查看它是否启动正常当不需要管理员权限时。您所需要做的就是测试构建和测试运行。
不完整 :我敢打赌,虽然后期处理MSI时您忘记了一些东西。我的猜测是一个简单的格式设置问题,如上面链接的文章所述。