Windows服务的Inno安装程序?

我有一个.Net Windows服务。我想创建一个安装程序来安装该Windows服务。

基本上,它必须执行以下操作:

  1. 包装installutil.exe(需要吗?)
  2. 运行installutil.exeMyService.exe
  3. 启动MyService

另外,我想提供一个运行以下命令的卸载程序:

installutil.exe /u MyService.exe

如何使用Inno Setup进行这些操作?

回答:

您不需要installutil.exe,甚至可能没有权利重新分配它。

这是我在应用程序中执行此操作的方式:

using System;

using System.Collections.Generic;

using System.Configuration.Install;

using System.IO;

using System.Linq;

using System.Reflection;

using System.ServiceProcess;

using System.Text;

static void Main(string[] args)

{

if (System.Environment.UserInteractive)

{

string parameter = string.Concat(args);

switch (parameter)

{

case "--install":

ManagedInstallerClass.InstallHelper(new string[] { Assembly.GetExecutingAssembly().Location });

break;

case "--uninstall":

ManagedInstallerClass.InstallHelper(new string[] { "/u", Assembly.GetExecutingAssembly().Location });

break;

}

}

else

{

ServiceBase.Run(new WindowsService());

}

}

基本上,您可以使用ManagedInstallerClass示例中所示的方法自行安装/卸载服务。

然后,只需在InnoSetup脚本中添加如下内容即可:

[Run]

Filename: "{app}\MYSERVICE.EXE"; Parameters: "--install"

[UninstallRun]

Filename: "{app}\MYSERVICE.EXE"; Parameters: "--uninstall"

以上是 Windows服务的Inno安装程序? 的全部内容, 来源链接: utcz.com/qa/419748.html

回到顶部