DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Visual Studio 2005 によるセットアップ作成時の容量指定について

環境/言語:[WinXP Pro SP2, C#, .NET 2.0]
分類:[インストーラ]

皆様おつかれさまです。keroと申します。

現在、Visual Studio 2005環境にて、C#を用いたフォームアプリケーションの
開発を行っております。動作環境はWindows XP Pro SP2です。

アプリケーション本体は開発が終了したのですが、
このアプリケーションの配布方法に関して問題が発生しております。

Visual Studio 2005の配置プロジェクトを用いてセットアップを作成していますが、
インストールを行ったあとに、インストール先に対して、別プログラムから
ファイルのコピーが行われます。

セットアップの最中に、後のファイルコピーに必要な容量を考慮した空き容量チェックを行いたいのですが、Visual Studio 2005を用いての対応は出来るのでしょうか。

1.セットアップに含めるファイルサイズ100MB
2.セットアップ後に別プログラムからコピーされるファイルサイズ1GB
3.合計1.1GBの容量が必要となるため、セットアップの際に、
  コピーするファイルのサイズも含めた空き容量チェックを行いたい。

なお、別プログラムに対する改修を行うことができない状況となっております。

以上、よろしくお願いいたします。
■No19234に返信(keroさんの記事)
> セットアップの最中に、後のファイルコピーに必要な容量を考慮した空き容量チェックを行いたいのですが、Visual Studio 2005を用いての対応は出来るのでしょうか。

カスタムアクションで空き容量をチェックし、容量不足であればInstallExceptionをスローするという方法ではいかがでしょうか?

カスタム動作エディタの使い方
http://dobon.net/vb/dotnet/deployment/customaction.html
■No19234に返信(keroさんの記事)
> Visual Studio 2005の配置プロジェクトを用いてセットアップを作成していますが、
> インストールを行ったあとに、インストール先に対して、別プログラムから
> ファイルのコピーが行われます。
>
> セットアップの最中に、後のファイルコピーに必要な容量を考慮した空き容量チェックを行いたいのですが、Visual Studio 2005を用いての対応は出来るのでしょうか。
>
> 1.セットアップに含めるファイルサイズ100MB
> 2.セットアップ後に別プログラムからコピーされるファイルサイズ1GB
> 3.合計1.1GBの容量が必要となるため、セットアップの際に、
>   コピーするファイルのサイズも含めた空き容量チェックを行いたい。
>
ReserveCost Table を使って予約エリアを確保するというのが
WindowsInstaller 的には正しい対応方法となります。

VSのセットアッププロジェクトでは、設定を行える部分がないので
ORCAなどで後から追記となりますが。
とっちゃんさん、管理人さん返信ありがとうございます。

現時点での対応として、カスタムアクションでInstallメソッドを利用し、
インストール先の容量が不足していればロールバックすることにしました。

また、Orcaはあまり利用したことがありませんが、
とっちゃんさんのOrcaを使った方法についても、調査を行ってみたいと思います。

ありがとうございました。

■No19243に返信(とっちゃんさんの記事)
> ReserveCost Table を使って予約エリアを確保するというのが
> WindowsInstaller 的には正しい対応方法となります。
>
> VSのセットアッププロジェクトでは、設定を行える部分がないので
> ORCAなどで後から追記となりますが。

■No19238に返信(管理人さんの記事)
> カスタムアクションで空き容量をチェックし、容量不足であればInstallExceptionをスローするという方法ではいかがでしょうか?

> カスタム動作エディタの使い方
> http://dobon.net/vb/dotnet/deployment/customaction.html
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板