このエラーメッセージは、Microsoft Windowsインストーラエンジンによって表示され(これは何ですか?ここを読んでください)、インストール中に問題が発生したことを示す一般的なエラーコードです。このスピードバンプを回避する方法については、この記事をお読みください。このエラーが発生する既知の原因の考えられるリストは次のとおりです。
- ターゲットマシンで短いファイル名の作成が無効になっています。
- InstallScriptカスタムアクションのプロトタイプが正しくありません。
- ファイルがロックされているため、上書きできません。
- MicrosoftWindowsインストーラサービスが正しくインストールされていません。
- WindowsTempフォルダがいっぱいです。
- インストール後にセットアップが破損したため、アンインストール中にこのエラーで失敗します。
- 古いバージョンのInstallShieldDeveloperが使用されています。
- アプリケーションで必要な場合、印刷とファイルの共有はインストールされません。
1603MSIエラーのトラブルシューティング
前述のように、1603エラーコードは、ほとんどの場合、Windowsへのインストール中にアクションが失敗したときに返されます。最も一般的には、MSIのカスタムアクションの1つが失敗したことを示します。戻りコード1603で失敗したセットアップが発生した場合は、次の手順に従う必要があります。
ここにリストされている手順と同様の手順を使用して、詳細ログを有効にしてセットアップを再実行します。
ステップ1:次回セットアップパッケージが実行されたときに、%temp%ディレクトリにmsi * .logという名前の詳細ログファイルを生成します。 (ログを生成するその他の方法については、ここをクリックしてください)。コマンドラインスイッチについて詳しくは、こちらをご覧ください。
msiexec / i < msipath > setup.msi /l*vc:\temp\msi.log
ステップ2:詳細ログをテキストで開きますメモ帳などのエディタを使用して、文字列「return value 3」を検索します。ほとんどの場合、これにより、セットアップがロールバックする原因となった失敗したアクションを一覧表示する詳細ログのセクションに移動します。
ステップ3:「戻り値3」文字列のすぐ上にあるログファイルの内容を確認して、失敗したカスタムアクションまたは標準アクションを特定します。失敗しているアクションに応じて、ここからより詳細なデバッグに進む必要があります。
失敗したセットアップをデバッグする際の最大のハードルは、セットアップのどの部分が実際にあるかに焦点を当てることであることがよくあります。失敗すると、「戻り値3」を検索するこのトリックは、ほとんどすべての場合にこのプロセスを高速化するのに役立ちます。もちろん、100%のシナリオでは機能しません。
ログのトラブルシューティングのいくつかの方法はここにあります–
“CloudDesktopOnline.comによって、仮想デスクトップを使用してAndroid / iOSデバイスからお気に入りのWindowsアプリケーションにアクセスします-one最高のDesktopas aServiceプロバイダーのOffice365の無料トライアルとO365CloudExperts.comによる優れたサポートを入手してください “
既知のソリューション
次のソリューションほとんどの場合、このエラーは解決されています。
- ターゲットマシンで短いファイル名の作成が有効になっていることを確認します。ターゲットマシンで短いファイル名の作成が無効になっていないことを確認できます。次のレジストリエントリに移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
値「NtfsDisable8dot3NameCreation」が0に等しいことを確認してください。これは、短いファイル名の作成が有効になっていることを示します。値1は、この機能が無効になっていることを示します。値を0に変更する必要があります。この値を変更した後、セットアップを再度起動する前に、ターゲットマシンを再起動する必要があります。
注:通常、ターゲットマシンでは短いファイル名の作成を無効にする必要があります。インストールの完了後に、「NtfsDisable8dot3NameCreation」を1にリセットして再起動することで、無効にすることができます。 - Windowsインストーラサービスが正しくインストールおよび構成されていることを確認するには、Windows 95/98 / MeにInstmsiA.exeファイルをインストールするかWinNTシステムにInstmsiW.exeファイルをインストールすることをお勧めします。これらのファイルはInstallShield製品に付属しています。次の場所にあります:<製品パス> \ Redist \ Language Independent \ i386。サービスがインストールされている場合は、サービス実行のステータスについては、コマンドプロンプトでservices.mscに移動し、Windowsインストーラサービスのステータスを確認することもできます。操作して再起動すると役立つ場合があります」
- すべての一時フォルダを空にします。マシンの特定の一時フォルダは、DOSプロンプトにアクセスしてsetと入力することで確認できます。TEMPとTMPにリストされている値に注意し、それらの場所にあるすべてのファイルを削除します。
- ウイルススキャナーなどのユーティリティを含む他のアプリケーションがバックグラウンドで実行されていないことを確認します。実行中のすべてのアプリケーションとユーティリティを閉じて、インストールを再開します。
- アンインストール中にこのエラーが発生した場合は、MicrosoftWindowsインストーラクリーンアップユーティリティを使用してインストールをアンインストールします。インストールが正常にアンインストールされたら、プロジェクトをデバッグして、元のエラーの原因を特定できます。
この最後に該当しない場合は、他のエラーである可能性があります。インストール中に発生したエラーについては、コメントで更新してください。修正しましょう。..!
LinkedInおよびその他のディスカッション
LinkedInディスカッションにも投稿しており、いくつか入手しています。同じことに対する質の高い回答–そこからいくつかの情報を抽出してここに投稿し、すべての情報を1か所で入手できるようにします。
シニアデスクトップアナリストのJackFei氏は次のように述べています。
Vijayは、これらのタイプの問題のトラブルシューティング方法についていくつかの優れた点を示しています。私の経験から、「詳細なログ結果をmsi内部に関連付ける方法」を理解すれば、修正は通常簡単です。
まず、「インストール」とは、msiexec.exeが内部のInstallExecuteSequenceテーブルの行を順次処理することを意味することを知ってくださいmsiデータベース。
次に、msiexec.exeがInstallInitializeとInstallFinalizeの間でシーケンスされたコマンドを2つのパスで処理することを知っています。それについて考える方法は、コマンドの構文をチェックしながらマシンに「条件付きで変更をインストールする」最初のパスと、「マシンに変更をコミットする」2番目のパスです。 1603は基本的に、変更をコミットしようとして「エラーが発生した」ことを意味し、msiexec.exeが「変更をバックアウト」します。
このタイプのエラーは、msiのミスエンジニアリングが原因です(ほとんどのベンダーのmsiはミスエンジニアリングされています)または「マシン固有の問題」によって。したがって、Patrick Pepinは、msiベンダーを確認するための優れた提案をします。
VMWareまたはイメージングツールがあると、このタイプの問題のトラブルシューティングに非常に役立ちます。
1 。すべての前提条件がインストールされたクリーンなマシンで問題を再現できると判断します(不明または破損したPC環境でのテストによって引き起こされる誤検知の可能性を排除するため)。
2。はキャプチャmsiです(元のソースは非msiです)msiで問題の原因となっているコンポーネントを特定するまで、ファイルとレジストリキーを体系的に除外します。ビルドしたので、修正方法が最もわかります。
3. msiが別のベンダーによって設計されている場合は、詳細ログを確認し、InstallExecuteSequenceTabで失敗した命令を特定します。ル。私の主なテクニックは、「1603」エラーを生成した失敗を見つけ、それを引き起こした可能性のある命令を見つけることでした。私の理論をテストするには、その命令のみをコメントアウトし(シーケンス列に負の符号を入れます)、コマンドを再実行します。時々、私は幸運に恵まれ、カスタムアクションをコメントアウトしたままにして、msiの欠陥を「回避」することさえありました。このタイプの変更は、カスタムアクションが環境内のデスクトップに対して「不要なチェック」を実行している場合にうまく機能します。明らかに、「変更されたmsiをテスト」して、アプリケーションがインストールされ、正常に起動することを確認します。
4 。クリーンなデスクトップで問題を再現できれば、ベンダーに連絡するための十分な弾薬があります。しかし、私の経験では、私が概説したことを行う方法を知っていれば、あなたが呼ぶベンダーの技術サポート部門を使い果たすでしょう。これは何よりも「政治的な理由」で行われます。そのため、ベンダーがかなりの粘り強さを持っていても解決策が見つからない場合は、ヒーローになることができます。
頑張ってください。これがお役に立てば幸いです。