ユーザーがインストーラーをクリックしたときに不明なベンダーが表示されないように、コードに署名する手順は何ですか?
私のセットアップは、
アプリケーションは Java ベースです。jar を launch4j でラップします。 インストーラーは nsis に基づいています。
私のビルド プラットフォームは xp です。
インストールが完了すると、もう1つ、インストールがvistaではなくnsisから成功しなかったというポップアップが表示されます。どうすればそれを取り除くことができますか?
ユーザーがインストーラーをクリックしたときに不明なベンダーが表示されないように、コードに署名する手順は何ですか?
私のセットアップは、
アプリケーションは Java ベースです。jar を launch4j でラップします。 インストーラーは nsis に基づいています。
私のビルド プラットフォームは xp です。
インストールが完了すると、もう1つ、インストールがvistaではなくnsisから成功しなかったというポップアップが表示されます。どうすればそれを取り除くことができますか?
警告を取り除くには、setup.exe に署名する必要があります。Microsoft signtool.exe とコード署名証明書を取得し (PC にインポートされていることを確認してください)、バッチ ファイルを作成します。
signtool sign /v /s my /n "My Display Company" /d "My Display Application" /du "My Support URL" /t " http://timestamp.verisign.com/scripts/timstamp.dll " path_to_setup.exe
SignTool.exe は Visual Studio とプラットフォーム SDK によってインストールされます。
launch4j の仕組みはわかりませんが、NSIS スクリプトを変更できると思います。.exe に署名する場合は、おそらく「CRCCheck off」を追加する必要があります。
nsis スクリプトに RequestExecutionLevel (ユーザーまたは管理者) を追加すると、Vista の警告が表示されなくなります (レジストリにアンインストール エントリが追加されておらず、exe に Vista マニフェストがない場合、インストーラとして検出されたプログラムにこの警告が表示されます)。
JarSignerを見てください。公開鍵インフラストラクチャを使用して機能するため、$$$ の費用がかかる CA によって署名された ket を取得する必要があります。Ant と Maven の両方に、jar をビルドするときにこれを行うためのプラグインがあります。これは、jar が launch4j および nsis でラップされる前に行う必要があります。
私は nsis に詳しくありませんが、インストーラーが Java ベースの場合、出力 jar にも署名する必要があるかもしれません。