.NET 3.5 SP1 WinForms アプリケーションがあります。次の設定で ClickOnce 展開用にセットアップしました。
- 公開場所: \\fileserver\installers\myapp\
- 前提条件: Windows インストーラー 3.1、.NET Framework 3.5 SP1
- 次の場所から前提条件をダウンロードします: \\fileserver\installers\common\
- アプリケーションはオフラインで利用可能 (プログラムの追加と削除およびスタート メニューにインストール)
ユーザーがインターネットにアクセスできないか、3.5 がまだインストールされていない可能性があります。それらはすべて会社のイントラネット上にあるため、必要なインストーラーをすべてのユーザーがアクセスできるネットワーク共有の場所に配置しました。
.NET 3.5 がないマシンでインストールをテストすると、すべて正常に動作します。前提条件とアプリをインストールし、問題なく起動します。
問題は、([発行] ボタンを使用して) アプリケーションを展開するたびに、Visual Studio 2008 がすべての必須ファイル/フォルダーを開発用 PC からネットワークの場所 (installers\myapp) にコピーすることを要求することです。これにより、20MB のアプリケーションがフォルダー内で約 200MB になります。~200MB の前提条件が既にインストーラー\共通フォルダーにあるため、これによりすべてが効果的に複製されます。私が言ったように、しかし、それはうまくインストールされます。VS が myapp フォルダーに配置した前提条件を削除しても、問題なくインストールされます。おそらく、インストーラーが共通の場所からそれらを取得しているためです ([前提条件] ダイアログで指定されているように)。
何も問題がなく、正常に動作するため、これはおそらく些細な問題ですが、次の 2 つの理由で煩わしくなります。
- アプリケーションに小さな変更を加えるたびにネットワーク上で 200 MB 以上を転送する必要があるため、展開が遅くなります
- ファイルサーバーのスペースを無駄にします
毎回フォルダーを削除するだけで2番目の問題を解決できますが、それ自体が面倒な余分な手順です.