【问题标题】:Cannot automatically start program after install with Installer Project使用 Installer Project 安装后无法自动启动程序
【发布时间】:2017-09-08 23:43:14
【问题描述】:

我需要安装程序方面的帮助。我的安装程序项目正在安装我的程序(显然),我的老板希望我在安装完成后让它自动运行。我找不到任何方法来做到这一点。有可能吗?

【问题讨论】:

  • 很多 安装程序尝试执行此操作,并且经常在某个方面出错 - 通常,安装程序将运行 提升我>。通常,您想启动提升的程序。你确定这样做正确都值得吗?
  • 您正在使用 Microsoft / Visual Studio 安装程序或安装盾牌等第 3 方工具?
  • 我确实回答了这个问题,但我认为它是重复的
  • 我目前正在使用 VS 2015 社区。​​span>

标签: .net vb.net windows-installer


【解决方案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”选择最后一个,因为计数是从零开始的索引。

更多信息wikipedia

要在安装程序结束时启动应用程序,您需要

  1. 右键单击您的设置项目,单击自定义操作。 然后右键单击提交,添加自定义操作,然后选择您要运行的文件。 (请注意,它必须已经在您的应用程序文件夹中,这在您的情况下应该不是问题,因为您无论如何都在运行您的程序。 只需选择项目的输出即可。
  2. 然后,单击这个添加的 .exe,并将 InstallerClass 更改为 false。这是至关重要的,因为否则它将寻找安装程序。 您甚至可以通过将参数添加到 Arguments 属性来将参数传递给您的 .exe

您需要查看是否希望您的应用以提升的用户权限或普通用户权限运行。一篇好文章是msdn launch as user from UAC

请检查堆栈问题launch appmicrosoft installerrun exe after msi installation (Visual Studio 2008)

【讨论】:

  • 我不确定这是否回答了 OP 提出的问题。 “设置完成后使其自动运行”向我表明他们在运行 setup 时没有问题。
  • 如果需要我可以删除那部分
  • 我用的是 VS 2015,没有自定义操作选项
【解决方案2】:

在 VS 2015 安装项目(安装程序扩展)中有自定义操作。您在解决方案资源管理器中选择安装项目,然后执行查看-> 编辑器-> 自定义操作,并且您需要安装自定义操作。默认情况下,自定义操作将停止安装,直到它们完成,所以基本上您需要一个自定义操作来执行程序的 shell 运行(以便它异步运行,即开即忘)。

这应该有助于一般的自定义操作:

https://www.simple-talk.com/dotnet/visual-studio/visual-studio-setup-projects-and-custom-actions/

但是这几乎肯定不能正常工作,因为正如 Damien 所说,在“所有人”安装中,自定义操作及其后代将使用系统帐户运行提升的 AND,并且程序不会像被交互式用户。最好的办法是使用 Orca 等工具编辑 MSI 文件,在 CustomAction 表中找到您的自定义操作,然后关闭 msidbCustomActionTypeNoImpersonate 位,以便自定义操作以安装用户身份运行。那在“类型”列中。

https://msdn.microsoft.com/en-us/library/windows/desktop/aa368069(v=vs.85).aspx

所有这一切通常都是一个坏主意,因为 Visual Studio 安装程序无法访问所有 Windows Installer 功能,并且不允许您移动自定义操作,因此它们会自动使用安装用户的凭据运行。根本问题是,从使用系统帐户(并且可能提升)运行的 msiexec.exe 进程启动的程序的行为与由交互式用户使用快捷方式启动的程序不同,并且很难模拟这种快捷方式行为从安装程序的上下文中。

【讨论】:

    猜你喜欢
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多