3

私は小さな .NET WinForms アプリケーションと、いくつかの Linux サーバー、DEV と CL1、CL2..CLN を持っています (DEV は開発サーバーで、CL* はクライアントに属しているサーバーであり、プライベート ネットワークにあり、一種のプロダクションです。サーバー)


(1) 新しいバージョンを開発して DEV に公開する
(2) DEV サーバーのユーザーが DEV から最新バージョンをインストールする
(3) CL2 のユーザー (client2 の従業員) が CL から安定したバージョンをインストールするための更新メカニズムが必要です。-2 直接
(4) アプリケーションは、インストール元のサーバーを使用してアップデートをチェックします (したがって、CL-2 からインストールされた場合は、CL-2 のアップデートをチェックする必要があります)
(5) アップデートを選択したCLサーバー(ファイルコピーのみを使用し、おそらくsedを使用。再公開しない)、必要な場合(そうしない場合、そのCLサーバーは手動で更新するまで古いバージョンになります)

clickonce を使用しようとしましたが、最初の 2 つの要件しか満たしていないようです。

私は何をすべきか?

4

3 に答える 3

4

正直に言うと、ClickOnce は 1 ~ 4 を処理する必要があります。必要なのは、展開/更新元のサイトごとに、独自の発行が必要になることだけです。仕様を確認した後、これを行うことは間違いではありません。

5. を適用可能にするためにできることは、ファイルを再公開する自動プロセスを作成することです。これにより、パブリッシュが実行され、正しいサーバーにアップロードされる可能性があります。

ClickOnce にはバージョンごとに新しいマニフェストが必要であり、新しいバージョンには公開が必要であるため、単純なファイルの置き換えで 5. を回避できるかどうかはわかりません。

于 2010-05-25T21:05:24.330 に答える
2

カイルは正しいです。ただし、5 番目の注意として、デプロイをコピーし、mage を使用してインストール URL を変更し、それを新しいサーバーにポイントしてから、マニフェストに再署名するだけです。

于 2010-05-26T08:48:02.217 に答える
0

DEV、QA、PROD サーバーにデプロイするアプリをサポートしています。これを処理した方法は、MSBUILD へのコマンド ライン呼び出しを含む cmd ファイルを作成したことです。適切な URL とスイッチを使用して、サーバーごとに 1 回アプリをビルドします。DEV と QA ビルドに別の AssemblyName を指定して、3 つの環境すべてを並べて実行できるようにします。このようにして、ビルド プロセスが自動化され、公開する必要がまったくなくなりました。

使用できるパラメーターについて説明する記事を次に示します。 http://msdn2.microsoft.com/en-us/library/ms165431(VS.80).aspx

@Kyle、上記のソリューションでは、異なるバージョンを並べて実行できますか、それともアプリが既にインストールされていることを示すエラーが発生しますか。

于 2010-05-28T13:01:23.153 に答える