8

基本の MSI を使用してアプリケーションをインストールしています。

インストール中に取得していてError 1001、ロールバック アクションが行われます。インストール ログで、次のエラーが発生していることに気付きました。

「CustomAction が実際のエラー コード 1603 を返しました。アクションは InstallFinalize を終了しました。値 3 を返します。

カスタム アクション dll は .NET インストーラー クラスであり、プロパティは True に設定されています。

何が問題なのか誰にも分かりますか?

4

4 に答える 4

2

エラーコード1603は、カスタムアクションがエラー/例外をスローした場合のWindowsインストーラーの一般的なエラーコードです。Windowsインストーラーは、インストーラーログに実際のエラー/例外を表示しません。実際のエラー/例外を確認するには、カスタムアクションをデバッグする必要があります。

カスタムアクションがエラー/例外をスローしていないかどうかを確認してください。

于 2011-09-22T19:53:31.550 に答える
2

インストール プロジェクトには、.NET インストーラー クラスがYesに設定されたコンポーネントが含まれています。このオプションの使用はアンチパターンです。サイレント インストールでもモーダル UI になる可能性があり、多くの場合、「エラー 1001」しか表示されません。この設定でコンポーネントを探すか、詳細ログを取得して、最初または唯一の戻り値 3の直前の情報を探すことができます。

于 2011-08-02T13:25:07.033 に答える
2

検証済みのソリューション:

エラー 1001 は、.Net フレームワークの不一致が原因です。InstallShield は、RegAsm.exe と InstallUtilLib.dll を使用してインストーラーをコンパイルします。これらは、アプリケーションのターゲット フレームワークと一致する必要があり、ターゲット コンピューターにも次のものが必要です。

ここで説明するエラー 1001 の理由と解決策

ここに画像の説明を入力

Installshield IDE を開きます -> [ツール] メニュー -> [オプション] に移動し、上のスクリーンショットに示すように、次の設定を確認します。

于 2013-01-02T14:15:58.187 に答える
1

私の場合、x86 Windows サービスを x64 マシンにインストールしていました。オプションの両方のパスを、実行可能ファイルのターゲット フレームワークのローカル x86 .net インストール フォルダーに変更する必要がありました。すなわち。

32 ビットの場所 C:\Windows\Microsoft.NET\Framework\v4.0.30319

64 ビットの場所 C:\Windows\Microsoft.NET\Framework\v4.0.30319

于 2014-01-20T13:29:46.357 に答える