2012-04-26 4 views
0

私たちは、YバージョンのZゾーンをまたぐN人の顧客に対してロールアウトされる合理的なサイズのアプリケーションを持っています。これらの状況のそれぞれに対して、対応するWCFサービスURLのクリックURLはそれぞれ異なります。clickonce用のsetup.exeリソース文字列を編集する自動化プロセスwpf app

展開/更新が必要になるまで、これらの内容はわかりません。これは、現時点では非常に手動のプロセスです:

ビルドソリューション、 更新のClickOnceクライアントの設定が正しいURL アプリ セットアップサービス一度記号をクリック(URLは、設定など)の再を持っている 更新アセンブリのバージョンが 展開

私たちはこのプロセスを自動化し、この中で多くの時間とエラーを解放しようとしています。私たちのアプローチは、すべてのコミットビルダーの汎用バージョンと、バージョン番号(クライアントのバージョン番号を自動的にインクリメントし、アプリケーション、クライアント、サーバー、dbスクリプトなどをそのバージョン番号の下に格納する)によってアーティファクトとしてアーカイブされています。これは、ビジネスがUATのバージョンXを持っていると言うことができ、それがライブに行くのがうれしいことを意味します。

私はアーカイブや設定変更などの自動化ツールを作成してから、クライアントアプリケーションに署名し直しています。その後、clickが一度setup.exeを作成すると、その中にリソースが更新される必要があることがわかりました。たとえば、名前が変更され、URLが変更されます。

私はこのsetup.exeを入手し、リソース文字列を自動化/コマンドライン/ C#の方法で変更する方法を探しています。

私はILDASMを試してみましたが、それは言って、それを開くことができません「というエラーが表示さ:setup.exeが有効なCLRヘッダーを持っていないと分解できません」このリソースを編集したり、我々はのジェネリック版を構築することができます確保の任意の方法を

アプリはその後、それぞれの新しい要件のためにそれをカスタマイズすることは素晴らしいだろう。

答えて

1

あなたの問題に対する最良の答えは、別のアプローチをとることだと思います。 Visual Studioでビルドされたsetup.exeファイルで、これらのリソースの詳細(私が認識している)にアクセスすることはできません。しかし、ClickOnceには.Net APIもあります。このAPIを使用すると、更新とインストールのプロセスを自分で制御したいときにアプリケーションに統合できます。

カスタムインストーラプロジェクトの作成については、MSDN article hereを参照してください。

+0

私が聞きたい答えではありませんでしたが、私が見つけたと思ったのはこれでした。ありがとう – Jon

関連する問題