2017-07-21 7 views
-1

私はInno Setupを使用して自分のプログラムのインストーラを作成しています。インストール後にIISマネージャーを実行したいと思います。だから、私はこのコードを使用しています:InnoセットアップでSystem32の.exeを起動できません

[Tasks] 
Name: StartAfterInstall; Description: Run IIS after install; 

[Run] 
Filename: "C:\WINDOWS\system32\inetsrv\InetMgr.exe"; Description:"launching IIS prova"; \ 
    Flags: postinstall nowait skipifsilent ; Tasks: StartAfterInstall; 

これは、IISマネージャを開く必要がありますが、それは動作しません、私はこのエラーを返す:

Could not execute file C:\WINDOWS\system32\inetsrv\InetMgr.exe
CreateProcessor failed, code 2 , file not found"

同じコードを使用して、他の.exeファイルを実行しています別のパスのファイルが動作します。これはこの特定のパスに依存しますか:C:\WINDOWS\system32\inetsrv

+0

あなたのキーボードや入力デバイスに問題がありますか? – GTAVLover

答えて

1

おそらくInetMgr.exeの64ビット版のみです。

32ビットアプリケーションでは、Inno Setupはデフォルトでgets redirected to C:\Windows\SysWOW64(32ビットバージョンC:\Windows\System32)です。 の32ビットバージョンがC:\Windows\SysWOW64にない場合、Inno Setupはそれを見つけることができません。

Flags: 64bitを追加してInno SetupがInetMgr.exeの64ビット版を見つけられるようにします。

または64-bit install modeを使用してください。


サイドノート:そのパスは、いくつかのシステムでは異なる場合がありますよう、ないハードコードC:\Windows\System32を行います。 {sys} constantを使用してください。


[Run] 
Filename: "{sys}\inetsrv\InetMgr.exe"; Flags: 64bit; ... 
+0

ありがとうございました。それは問題を解決しました。 –

+0

ようこそ。 Stack Overflowについては、[答えを受け入れる](// stackoverflow.com/help/someone-answers)に感謝します。 –

関連する問題