C# 如何使用附加参数以编程方式安装Windows服务?

C# 如何使用附加参数以编程方式安装Windows服务?,c#,windows-services,C#,Windows Services,我正试图通过安装程序的自定义操作通过C#安装服务 我已经跟踪了与我的堆栈溢出问题相关的大多数主题,但是我没有找到解决问题的方法 问题是:我需要向我的服务传递其他参数,以下是cmd.exe中的情况: my_service -installMY_SERVICE_NAME cmdLine="commands in here" auxCommands="aux commands in here" net start "My Service (MY_SERVICE_NAME)" 如果我从命令行执行,它就

我正试图通过安装程序的自定义操作通过C#安装服务

我已经跟踪了与我的堆栈溢出问题相关的大多数主题,但是我没有找到解决问题的方法

问题是:我需要向我的服务传递其他参数,以下是cmd.exe中的情况:

my_service -installMY_SERVICE_NAME cmdLine="commands in here" auxCommands="aux commands in here"
net start "My Service (MY_SERVICE_NAME)"
如果我从命令行执行,它就可以工作,但是我无法在C#中完成,因此我不得不寻求帮助


关于

这就是你想要的,从C#开始服务吗?这里的代码项目可能会起作用

希望这有帮助, 顺致敬意,
Tom。

听起来您想通过命令行用C#启动服务,并传入其他参数。具有命令行参数的参数。试试这个

Process.Start("my_service", "-install MY_SERVICE_NAME cmdLine=\"commands in here\"" auxCommands=\"aux commands in here\");
Process.Start("net", "start \"My Service (MY_SERVICE_NAME)\"");

从命令行执行什么操作?如果它在命令行中运行,但没有在Visual Studio中运行,那么请查看“项目属性”页面的“调试”页面——在启动调试器时,应该有一个选项可以在那里输入命令行参数。这不是VS中的“不工作”问题。我不知道如何首先完成它。我已经将advapi32.dll的接口导入到C#中,但是我不知道如何传递启动参数。您是否正在尝试在启动服务时传递参数?如果是这样,我认为那是不可能的。安装时传递参数当然是,我该怎么做呢?我提供的答案向您展示了如何在使用C#安装时传递参数,我恐怕这里没有提到向服务传递附加参数/启动参数,这是一种方法,然而,我需要做这个编程这是一个编程解决方案,这是有效的C#好吧,它可以工作,所以我将它标记为一个答案-尽管这不是我想要的