2012-10-05 44 views
7

Inno Setupを使用して.cerファイル(証明書)をインポートできますか?Inno Setupを使用して、証明書.cerファイルをインポートする方法は?

どうすればいいですか?

私はセットアップにCertmgr.exeとyourcertificate.cerの追加のWindows XP、Windows VistaおよびWindows用の7

+0

私はCertmgr.exeユーティリティを使用してコマンドラインを使用して考えていました。それはすべてのWindowsシステムで動作しますか? –

+4

Certmgr.exeはWindowsの一部ではないため、インストーラーにバンドルする必要があります。私はそれがWindows SDKの一部であるため、すべてのWindowsリリースで動作するはずだと思います。 –

答えて

3

を証明書のインストーラを作成する必要があります、

[Files] 
Source: CertMgr.exe; DestDir: {app}; Flags: deleteafterinstall 
Source: yourcertificate.cer; DestDir: {app}; Flags: deleteafterinstall 

そして、[ファイル名を指定して実行]セクションに

Filename: {app}\CertMgr.exe; Parameters: "-add -all -c yourcertificate.cer -s -r localmachine trustedpublisher"; Flags: waituntilterminated runhidden; 
+1

再配布可能な場合... – TLama

+0

私の場合、自己署名証明書。 line localmachineがルートで終了するようにしてください。 – YumYumYum

6

実際CertMgr.exeはすべてのPCで使用できず、しかも@TLによって示唆として(再配布可能ではありません。このような何かを書きますama);あなたはそれを必要としないのです。

CertUtilは、すべてのWindowsマシン上で使用可能です(私がテストしていること)と完璧に動作します:

[Run] 
Filename: "certutil.exe"; Parameters: "-addstore ""TrustedPublisher"" {app}\MyCert.cer"; \ 
    StatusMsg: "Adding trusted publisher..." 
+0

*「テストしたすべてのWindowsマシン」*について詳しく説明できますか? –

+0

@MartinPrikryl確かに、私はもっと多くのテストをしたかもしれません。私はこれを昨日発見したので、徹底的にテストしていません。これまではWin 10マシンのみでした。しかし、1つはVMWare Azureであり、2つはVisual StudioやdotNetsなどのない一般的なPCです(CertMgr.exeは利用できません)。そして、DevMにはCertMgrがありますが、CertUtilもその上で動作します。 – SlowLearner

+0

@MartinPrikrylなぜStatusMsgの前に '\'を追加しますか? – SlowLearner

関連する問題