次のコマンドでmsiを抽出中に2203エラーが発生します。
msiexec/a "C:\ Test\Installer.msi"/QB targetDIR = "C:\ Test\Eval"/LV * "C:\ Test\INST_Logfile.log"
回答する際は、次の点を考慮してください。
ログインしているユーザーとSYSTEMアカウントにフルアクセスが許可されている
%TEMP%、C:\ Windows\Installer。
msiは読み取り専用としてマークされていません。
Windowsインストーラサービスを確認しましたが、正常に動作しています。
Msiexecの登録解除と登録を試みました
_ MSIEXEC /UNREGISTER
MSIEXEC /REGSERVER
_
再起動されたシステム
以下は、ログに記録されたエラーです。
MSI (s) (88:A4) [14:09:27:551]: Executing op: DatabaseCopy(DatabasePath=C:\Test\Installer.msi,,CabinetStreams=cab1.cab,AdminDestFolder=C:\Test\,) MSI (s) (88:A4) [14:09:27:551]: Note: 1: 2203 2: C:\Test\Installer.msi 3: -2147287008 DEBUG: Error 2203: Database: C:\Test\Installer.msi. Cannot open database file. System error -2147287008 MSI (s) (88:A4) [14:09:34:634]: Product: Installer -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2203. The arguments are: C:\Test\Installer.msi, -2147287008,
TrendMicroアンチウイルスがマシンにインストールされ、それがmsi抽出を妨げていました。したがって、TrendMicroアンチウイルスをオフにすると、インストーラは正常に実行されました。
答えてくれてありがとう
私は自分の馬鹿なことが原因でこの問題を抱えていましたが、他の誰かがこれを試みた場合に備えて投稿しようと考えました。この抽出コマンドライン(および私が想定している他のコマンドライン)では、抽出するmsiをTARGETDIRと同じフォルダーに置かないでください。 Windowsインストーラーは抽出プロセス中にフォルダーをロックしているように見えるため、コンテンツを同じフォルダーに書き込むことができません。
グレートアンサーみんな!より深いエラーコードを探していました。データベースファイルを開けません。システムエラー-2147287008。これは、より一般的なエラー2203データベースの一部です。 MSIをMSI自体と同じ場所に抽出しようとしたために発生しました。これがこのエラーコードによる他の検索に役立つことを期待しています。
私の場合、エラー2203は、%TEMP%ディレクトリがSYSTEMによって書き込み可能でないために発生しました。 (自分のユーザーアカウントのアクセス許可しかありませんでした。)SYSTEM変更アクセス許可を与えると、問題が修正されました。
MySQLコミュニティサーバーをインストールしようとすると、インストーラーが2203エラーコードで停止しました。
Windows環境変数セクションにC:\Temp
の一時フォルダーを参照するPATH変数がありましたが、Cドライブのルートにそのようなフォルダーがありませんでした。 C:\Temp
にTempフォルダを作成した後、インストーラはインストールを続行できました。