1

インストールに失敗する Visual Studio 2008 で構築された展開プロジェクトがあります。デフォルトの GUI を使用しています。進行状況ページに遷移するときにエラーが発生します。GUI エラー メッセージは次のとおりです。

ファイル F:\Packages\Test\Release\Test.msi からの読み取りエラー。ファイルが存在し、アクセスできることを確認します。

を使用してコマンド ラインから MSI を実行すると/l*、GUI 要素のサイズが正しくないという多くのエラーが表示されます。

デバッグ: エラー 2826: ダイアログ WelcomeForm のコントロール ライン 1 が、ダイアログの境界を右に 3 ピクセル超えています インストーラーは、このパッケージのインストール中に予期しないエラーに遭遇しました。これは、このパッケージに問題があることを示している可能性があります。エラー コードは 2826 です。引数は次のとおりです。WelcomeForm、Line1、右側

実行時に表示されるエラーのより詳細なバージョンも取得します。

MSI (c) (08:EC) [17:06:27:026] 製品: テスト -- エラー 1305。ファイル F:\Packages\Test\Release\Test.msi からの読み取りエラー。システム エラー 1008。ファイルが存在し、アクセスできることを確認してください。

他の MSI ファイルは、ローカルの Administrators グループのメンバーである同じユーザー アカウントを使用して、このマシンで動作します。Release\ フォルダ全体で、SYSTEM がフル コントロールに設定されています。C:\WINDOWS\TEMP と C:\Documents and Settings\username\Local Settings\Temp の両方で、SYSTEM がフル コントロールに設定されています。

PC は Windows XP SP2 32 ビットを実行しており、十分な RAM とディスク容量が利用可能です。

4

2 に答える 2

2

このブログ投稿のコメントに記載されて いるSUBSTの問題が発生していました:http: //richardsleegers.blogspot.com/2006/04/error-1305-error-reading-from-file-msi.html

F:ドライブは、SUBSTを使用してC:\F_Driveにマップされました。F:\ Packages\TestからのMSIファイルの実行は毎回失敗しました。C:\ F_Drive \ Packages\Testから実行すると機能しました。これは、私のテスト目的では許容できる回避策です。これは、実稼働ハードウェアでSUBSTを処理する必要がない一部の組み込みソフトウェア用です。

このエラーは、MSIパッケージがデフォルトでLocalSystemアカウントを使用するmsiexecサービスで実行され、SUBSTマッピングが各ユーザーに固有であるために発生します。

SUBSTの代わりに、LocalSystemを含むすべてのユーザーが同じマッピングにアクセスできるようにレジストリにDOSデバイスマッピングを作成できます。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]
"F:"="\\??\\C:\\F_Drive"
于 2011-12-20T22:34:35.353 に答える
0

制御エラーは無視できます。一番下のコントロールはダイアログよりも大きいので見栄えが良くなります。

通常、ファイルからの読み取りエラーは、別のプロセスが MSI へのオープン ハンドルを持っている場合に発生します。MSI が Orca で開かれておらず、Visual Studio で使用されていないことを確認してください。MSI を起動する前に再起動を試すこともできます。

また、ディスク上の MSI データベースへのハンドルを開くカスタム アクションを使用しないようにしてください。

于 2011-12-20T08:00:21.380 に答える