WIX安装程序无法正常运行C#进程

问题描述 投票:0回答:1

我们有一个很棒的WIX安装程序。安装后,应该运行大约2800个脚本来升级数据库。为此,创建了一个特殊的应用程序。它只是进入SQL机器,安装SQL SMO和SQL Sys Clr类型等先决条件,并执行脚本。这个小应用程序在WIX中的自定义操作中运行。从逻辑上讲,它应该以提升的权限运行。在这个自定义操作中,我使用c#Processes来启动应用程序。但是,我已经尝试了一切,但应用程序仍然无法正常工作。它打开应用程序和应用程序尝试安装先决条件,只是退出 - 没有安装。我尝试过:1。使用提升的权限运行进程(process.StartInfo.UseShellExecute = true)2。使用用户权限运行进程(使用UseShellExecute = false的standardinput / output)3。使用批处理文件运行应用程序。

整个过程应如下所示:安装程序以提升的权限运行 - >安装后,运行特殊应用程序以升级数据库 - >应用程序安装先决条件 - >应用程序执行脚本。

有趣的是,当我使用cmd手动执行应用程序时,应用程序正常工作。但是,当安装程序的自定义操作打开cmd.exe(c#Process)并且它仍在等待时,则通过cmd手动打开应用程序不起作用。换句话说,我有安装程序打开的cmd(具有提升的权限)和我自己手动打开的另一个cmd。然后,手动运行应用程序不起作用。一旦我关闭安装程序打开的cmd,并通过我自己打开的cmd手动运行应用程序,那么一切都很好,一切正常。

我需要帮助,我该如何解决这个问题?

附:无法单独提取和安装安装程序的先决条件。我们没有升级数据库应用程序的源代码。

c# cmd process wix installer
1个回答
0
投票

经过一番研究,我发现Windows无法同时运行两个MSI,因此,第二个MSI正在默默地退出。

© www.soinside.com 2019 - 2024. All rights reserved.