6

プログラム コンポーネントに加えて、大きなデータベース ファイルをインストールする MSI パッケージがあります。このファイルはパッケージには含まれていませんが、msi ファイルと一緒に提供されます。これまでのところ、この設定で問題はありませんでした。現在、データベースのサイズは 2 GB を超えています。これにより、インストール時にエラーがスローされます (Win7 マシンでテスト済み)。

「ファイルの書き込み中にエラーが発生しました: [データベース ファイルへのパス]。フォルダーに対する権限があるかどうかを確認してください。」

インターネットを検索すると、Windows インストーラーは 2GB を超えるファイルに問題があるようです。解決策として、ファイルを MSI 内に含めるのではなく、msi と一緒に非圧縮で出荷することが提案されました。これは私たちがすでに行っていることです。したがって、提案されたソリューションは機能しません。

Windows インストーラーを使用して 2 GB を超えるファイルをインストールする方法はありますか? この制限は、私には少し時代遅れのようです。

PS: 役立つ場合、インストールは WIX を使用してビルドされますが、msi データベース自体で何を変更するかについてのヒントをいただければ幸いです。

4

1 に答える 1

5

Windows インストーラーには、いくつかの古い制限があります。FileSize のテーブル定義には 2GB の制限があり、Windows インストーラーはキャビネット ファイルを使用して 4GB の制限があるデータを圧縮します (ただし、cab-splitting を使用して回避できます)。

Windows インストーラーで実際の最大値に達したと確信していますが、新しいバージョンの WiX ツールセット (v3.7+) を使用している場合は、cab-splitting が機能するかどうかを確認できます。Media持っている可能性のある要素を次のように置き換えてみてください。

<MediaTemplate MaximumCabinetSizeForLargeFileSplitting='200' />

これにより、コンテンツを格納するために必要な数の 200 MB のキャビネットが作成されます。残っている唯一の問題は、ファイルが 2GB を超える場合に Windows インストーラーがファイルを理解するかどうかです。頑張ってください!

于 2013-04-17T13:19:01.023 に答える