如何安装与创新安装Windows服务?(How to install a Windows servi

2019-07-20 23:13发布

我写了一个批处理脚本我安装的是与Inno Setup的制作后执行。 问题是,我有我的服务创建以下命令行:

sc create MySQL start= auto DisplayName= MySQL binPath= "C:\MyApp\MySQL 5.5\bin\mysqld" --defaults-file="C:\MyApp\MySQL 5.5\my.ini"

带有重音字母此代码的问题,如果我打开CMD中的bat文件,我不能执行它,但是当我键入该服务创建的。 我该如何解决呢?

Answer 1:

而不是直接调用SC,它的清洁剂(和更容易处理的任何错误或服务的依赖),以使用API 。 注意,这个例子假设你使用ANSI创新科技,但它是相当简单的修改这个对Unicode。

就个人而言,虽然,我更喜欢建造安装/启动/停止/卸载命令到服务可执行文件本身,使其成为自注册。 显然,这是不可能做自己的第三方服务,但你可以检查,看看它是否已经支持这样的事情。

最后一点是,你必须不硬编码路径为C:文件夹中。 您应该使用{app}代替。



Answer 2:

你可以尝试添加此命令[RUN]部分(如TLama建议),或创建AfterInstall函数[CODE]部分。

[Run] 
Filename: "{cmd}"; Parameters: "sc create MySQL start= auto DisplayName= MySQL 
binPath= ""C:\MyApp\MySQL 5.5\bin\mysqld"" 
--defaults-file=""C:\MyApp\MySQL 5.5\my.ini"""; 
Flags: runhidden


文章来源: How to install a Windows service with Inno Setup?