我需要安装程序的帮助。我的安装程序项目安装了我的程序(显然),我的老板希望我在安装完成后自动运行它。我找不到任何办法这样做。是否可以这样做?
答案 0 :(得分:1)
是的,自动启动安装程序并在安装结束时运行应用程序非常容易。
要开始设置,您需要在一张CD / DVD上设置自动运行。您只需要使用ini格式添加autorun.inf文本文件。下面是一个示例,假设您有一个带有图标的setup.exe。
[autorun]
open=setup.exe
icon=setup.exe,0
label=My install CD
您可以将图标部分更改为任何图标,例如“icon = my_cool_icon.ico”。如果你的exe文件有3个图标,你可以用“setup.exe,1”选择第2个,使用“setup.exe,2”选择最后一个,因为计数是基于零的索引。
的更多信息要在安装程序的最后启动应用程序,您需要
您需要查看您是否希望自己的应用以提升或普通的用户权限运行。一篇好文章是msdn launch as user from UAC
请检查堆叠问题launch app,microsoft installer或run exe after msi installation (Visual Studio 2008)
答案 1 :(得分:1)
在VS 2015安装项目(安装程序扩展)中,有自定义操作。您在解决方案资源管理器中选择安装项目,然后执行查看 - >编辑 - >自定义操作,并且您需要安装自定义操作。默认情况下,自定义操作将在安装完成之前停止安装,因此基本上您需要一个自定义操作来执行程序的shell运行(以便它以异步方式运行,火灾并忘记)。
这通常有助于自定义操作:
https://www.simple-talk.com/dotnet/visual-studio/visual-studio-setup-projects-and-custom-actions/
然而,这几乎肯定无法正常工作,因为正如Damien所说,在Everyone安装中,自定义操作及其后代将与系统帐户一起运行升级,并且程序将不会像它被解雇互动用户。您可以做的最好的事情是使用Orca等工具编辑MSI文件,在CustomAction表中找到自定义操作,然后关闭msidbCustomActionTypeNoImpersonate位,以便自定义操作作为安装用户进行模拟。那是在Type列中。
https://msdn.microsoft.com/en-us/library/windows/desktop/aa368069(v=vs.85).aspx
所有这一切通常都是一个坏主意,因为Visual Studio安装程序无法访问所有Windows Installer功能,也不允许您移动自定义操作,因此它们会自动运行安装用户的凭据。根本问题是,使用系统帐户运行的msiexec.exe进程启动的程序(可能已升级)与使用快捷方式的交互式用户启动时的行为不同,并且很难模拟该快捷方式行为从安装程序的上下文。