我写了一个批处理脚本我安装的是与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文件,我不能执行它,但是当我键入该服务创建的。 我该如何解决呢?
我写了一个批处理脚本我安装的是与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文件,我不能执行它,但是当我键入该服务创建的。 我该如何解决呢?
而不是直接调用SC,它的清洁剂(和更容易处理的任何错误或服务的依赖),以使用API 。 注意,这个例子假设你使用ANSI创新科技,但它是相当简单的修改这个对Unicode。
就个人而言,虽然,我更喜欢建造安装/启动/停止/卸载命令到服务可执行文件本身,使其成为自注册。 显然,这是不可能做自己的第三方服务,但你可以检查,看看它是否已经支持这样的事情。
最后一点是,你必须不硬编码路径为C:文件夹中。 您应该使用{app}
代替。
你可以尝试添加此命令[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