使用WIX.sharp安装服务后如何运行exe文件(我的目标-为服务创建msi)?

时间:2019-03-22 10:02:10

标签: c# wixsharp

我使用WIX.sharp创建msi。 请帮助我:安装服务后如何运行exe文件? 现在它导致错误(当我使用我的msi时)。 我的应用程序启动了服务的初始化配置文件。 现在看起来像这样:

existing_user.active

1 个答案:

答案 0 :(得分:0)

谢谢。 我按照我的要求做了。 我想分享结果。

using Microsoft.Deployment.WindowsInstaller;
...
var project = new Project("Application Name", GetAllEntities(releaseDir, parentDir, out service));
...
private static Dir GetDirs(string releaseDir, string parentDir, out File service)
        {
            var docDir = System.IO.Path.GetFullPath(System.IO.Path.Combine(parentDir, @"pub\\doc\\"));
            return new Dir(new Id("SERVICEDIR"), @"%ProgramFiles%\Application\",
            new Dir(new Id("INSTALLSERVICEDIR"), "App name",
                new Dir(new Id("BINSERVICEDIR"), "bin",
    ...
                    new File(string.Format("{0}{1}", releaseDir, "Admin.exe")),
...
project.AddAction(new ManagedAction(CustomActions.MyAction, Return.check, When.After, Step.InstallFinalize, Condition.NOT_Installed));
...
public class CustomActions
{
    [CustomAction]
    public static ActionResult MyAction(Session session)
    {
        System.Diagnostics.Process process = new System.Diagnostics.Process();
        process.StartInfo.FileName = string.Format("{0}\\Admin.exe", session["BINSERVICEDIR"]);
        process.StartInfo.Arguments = "-n";
        process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
        process.Start();
        process.WaitForExit();

        return ActionResult.Success;
    }
}