11

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ファイルを開くと実行できませんが、入力するとサービスが正常に作成されます。どうすれば修正できますか?

4

2 に答える 2

14

SC を直接呼び出すよりも、APIを使用する方がクリーンです (そしてエラーやサービスの依存関係に対処するのが簡単です) 。この例では、ANSI Inno を使用していることを前提としていますが、これを Unicode 用に変更するのはかなり簡単です。

個人的には、サービスの実行可能ファイル自体にインストール/開始/停止/アンインストール コマンドを組み込み、自己登録することを好みます。明らかに、これはサードパーティのサービスに対して自分で行うことはできませんが、すでにこのようなものをサポートしているかどうかを確認できます.

最後のポイントは、C: フォルダーへのパスをハードコーディングしてはならないということです。{app}代わりに使用する必要があります。

于 2013-03-05T19:46:05.590 に答える