2016-11-17 9 views
0

Click Onceを使用してカスタムアプリケーションをインストールします。しかし、私は別々のアセンブリとして自分のアプリケーションを設計するのが好きです。たとえば、データマネージャ、Wordオートメーション、エラーログなど、いくつかのプロジェクトで構成されるラベルと封筒プリンタを作成しました。エラーログは非常に詳細で、実際のエラーの原因となったメソッドまで呼び出しを開始したイベントを記録します。同じdllを使うのはいいことですが、私がクリックするだけでプロジェクトを更新すれば、それを使っているすべてのソリューションを公開する必要があります。クリックして共有ファイルをインストールすることはできますか?

エラーログの重複だけではそれほど悪くないかもしれませんが、この問題はさらに悪化します。

重大な開発者ではなく、一度限りのクリックは一度だけですか?これは、配布や更新が行われる限り、ビジネスでは本当にうまく機能するので、不自由なものになります。私が見たことから、スケーラブルな部門では失敗します。私が見逃したことがない限り。 。 。

答えて

2

これはできないと思います。アプリケーションマニフェストには、バージョン情報とハッシュを含むすべてのアプリケーションファイルが含まれています。たぶん汚れたハックをすることもできますが、これはちょうどいい気分にはなりません。

いくつかのクリックワンアプリケーションで使用される1つのプロジェクト(dll)を更新し、手動でこれらのアプリケーションをすべて公開する必要がある場合は、同意します。これは開発者が行うべきことではありません。

もっと良い方法は、自動化されたビルドをリリース管理でセットアップすることです。または、アプリケーションごとに少なくとも夜間のビルドと、自動化されたクリックオンデプロイ用のスクリプト。この設定を済ませたら、変更の数は気にしなくなります。

1

解決策は、Windowsインストーラをクリックして一度だけ使用することです。ここで

Use Both Windows Installer and ClickOnce

の抜粋です。

ここで基本的な考え方は、Windowsインストーラテクノロジに基づくインストール外側を作成することです。この外部インストールは、アプリケーションがインストールされる前に、システムの検査と問い合わせを行います。ユーザーと対話して、構成情報を収集して格納することができます。GACに共有アセンブリをインストールしますなど。アンインストール時には、アプリケーションによって通常残されていたリソースをクリーンアップする責任があります。たとえば、ファイルのアンインストール、実行時のログファイルの削除、サービスのアンインストール、GACからのアセンブリの削除などが可能です。

ClickOnceアプリケーションをインストールすると、やはり簡単な作業です。 ClickOnceアプリケーションはインターネットまたはイントラネットURLを介してアクティブ化できるため、アプリケーションマニフェストを指すターゲットシステム上のショートカットを作成するだけで済みます。これを実現するために、インストール時にWindowsインストーラを使用してオンザフライで.urlファイルを作成することができます。 .urlファイルは、標準の.iniファイル形式に準拠する特別なタイプのショートカットです。

関連する問題