gpt4 book ai didi

c# - 安装 msi 后运行 exe,我看到启动复选框,但应用程序未运行

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:17 24 4
gpt4 key购买 nike

我正在使用这个答案 https://stackoverflow.com/a/1681410/22 中的脚本在 MSI 安装程序的末尾插入启动应用程序复选框。

一切构建正常,我得到了启动复选框,但是当安装程序完成时应用程序没有启动。

不确定这是否是原因,但我的应用确实需要管理员 (app.manifest)

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

安装程序构建输出:

------ Starting pre-build validation for project 'MyAppInstaller' ------ 
------ Pre-build validation for project 'MyAppInstaller' completed ------
------ Build started: Project: MyAppInstaller, Configuration: Release ------
Building file 'C:\path\to\MyAppInstaller.msi'...
Packaging file 'MyApp.exe'...
Packaging file 'Icon.ico'...
Starting post-build events...
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

Updating the Control table...
Updating the ControlEvent table...
Updating the CustomAction table...
Updating the Property table...

Done Adding Additional Store

Successfully signed: MyAppInstaller.msi

编辑:

如果我在 Visual Studio 中右键单击安装项目并选择“安装”。该应用程序在安装程序关闭时运行。

但是,如果我只是双击生成的 MSI。 MSI 关闭后应用程序将不会打开。

我也尝试过将自定义操作更改为此,但我仍然得到相同的结果:

sql = "INSERT INTO `CustomAction` (`Action`, `Type`, `Source`, `Target`) VALUES ('VSDCA_Launch', '226', 'TARGETDIR', '[TARGETDIR]\\MyApp.exe')";

更新:

我最终使用了“DJ KRAZE”答案的略微修改版本。在我的 Main 方法中,我检查了“frominstaller”参数,然后在新进程中启动应用程序并退出。然后允许安装程序正常继续。然后我使用“/frominstaller”参数在“安装”自定义操作中添加 exe。

if (frominstaller)
{
Process p = new Process();
p.StartInfo.FileName = System.Reflection.Assembly.GetExecutingAssembly().Location;
p.Start();
Application.Exit();
}

最佳答案

您是否尝试过您引用的链接中帖子中列出的这些步骤?

要在安装完成后运行任何应用程序,请右键单击您的安装项目,然后单击“自定义操作”。然后右键单击“提交”、“添加自定义操作”,然后选择您要运行的文件。请注意,它必须已经在您的应用程序文件夹中,这在您的情况下应该不是问题,因为您无论如何都在运行您的程序。只需选择项目的输出即可。

然后,单击这个添加的.exe,并将InstallerClass 更改为false。这很重要,因为否则它将寻找安装程序。

您甚至可以通过将参数添加到 Arguments 属性来将参数传递给您的 .exe

关于c# - 安装 msi 后运行 exe,我看到启动复选框,但应用程序未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8933977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com