2016-12-03 2 views
0

私のプロジェクトではWix 7.xが使用されています。私たちはSHA2でデジタル認証されたカスタムアクションDLL(C++で書かれています)を持っています。このDLLは、以前はSHA1で認証されていました。Windows 7および8環境でSHA2でデジタル署名されたカスタムアクションDLLが1723および1157エラーをスローする

デジタル証明書の変更以外の変更はありません。

インストール中に、以下のエラーメッセージが表示されます。

のCustomAction customaction_aは、実際のエラーコード1157(翻訳がサンドボックス内で起こった場合は、この が100%正確ではないかもしれません注意してください)

エラー1723このWindowsインストーラパッケージに問題がありますが返されました。このインストールを完了するために必要なDLL を実行できませんでした。サポート担当者またはパッケージベンダー にお問い合わせください。アクションcustomaction_a、 エントリ:FirstCustomAction、ライブラリ:C:\ WINDOWS \ Installerの\ MSICD2E.tmp DLLがSHA1で認定されました

が、それは、Windows 7、Windows 8の、およびWindows 8.1で、エラーなしで正常にインストール。 DLLがSHA2で認定されている場合、Windows 7およびWindows 8では上記のエラーが発生します。しかし、Windows 8.1およびWindows 10では正常にインストールされます。

私はインターネットを検索し、 temp%フォルダ、間違ったパスがmsiexecなどに登録されていて何も助けてくれませんでした。

これは既知の問題/バグですか?どんな解決策/回避策も大きな助けになるでしょう。

答えて

1

Windowsインストーラの観点からは、ここで署名に関連するものはありません。 1157エラーは "このアプリケーションを実行するのに必要なライブラリファイルの1つが見つかりません"です。言い換えれば、それは欠けている依存関係です。 CRT/MFC/ATLなどの欠落したバージョンや、いくつかのシステムに前提条件としてインストールされているかもしれない様々な再配布可能ファイルを持つ汎用CRTなど、あなたの他のDLLに依存しない場合他の製品の

前提条件をインストールしている可能性がありますが、あなたの投稿は言っていません。 MSIにはC++マージモジュールの一部のバージョンが含まれているかもしれませんが、SxSの一部のバージョンはカスタムアクションが実行され、この失敗の原因となるまでコミットされません。だから、Windowsのすべてのバージョンではない署名に関連するオプションのDllがない限り、1157エラーがあると署名に関係しない、これが失敗するかもしれない多くの理由があります。最も簡単な説明は、エラーによって示されるものです - 欠落している依存関係です。

依存関係ウォーカーは、依存関係ウォーカーをロードして実行できないシステムにDllをコピーするだけで、欠落しているDllを教えてくれます。

関連する問題