2009-08-31 6 views
2

私はVisual Studio 2008で書かれたC#コンソールアプリケーションを持っています。 通常はアプリケーションをビルドしてから 'Release'フォルダからファイルをコピーしますが、アプリケーションを公開することによって「正しく」Visual Studio 2008 - 発行に関する問題C#コンソールアプリケーション

私は '公開ウィザード'を通過し、指定されたフォルダに 'Setup.exe'ファイルを作成しました。別のコンピュータでこのセットアップファイルを実行しているときにインストールすることをエラーメッセージで失敗して示しています。私は、「詳細」ボタンを選択すると、エラー・ログは、プログラムからファイルをダウンロードしようとしていたことを示して

Cannot download the application. The Application is missing required files...

最終バージョンのディレクトリ(つまり、1_0_0_4)。

私は間違っていますか? (疲れているのとは別に...)
私はバージョン自動インクリメントを無効にしますか?

答えて

9

有効な理由がない限り、公開を中止してXCopyのインストールに戻ってしまいます。 (と有効なことで、私は誰か以外の何か、それはそれを行うには、「適切な」方法だということを言ったことを意味。)私は、次の引数に、このアドバイスを基礎:

  1. 我々はのためにすべての私たちのWinFormsアプリケーションのためのClickOnceを使用しましたしかし、最終的には、それは価値があったよりも多くのトラブルになります。まず、セキュリティ証明書を処理する必要があります。サーバーを新しい名前の別のサーバーに置き換えたときに問題が発生し、開発マシンなどを交換したときに問題が発生しました。
  2. これはコンソールアプリケーションだと言いました。あなたのインストールに含める必要があるサードパーティの依存関係がない限り、ClickOnceパブリケーションは単純なコンソールアプリケーションのために不当だと思われます。

私は間違いを犯さないでください。私はClickOnceを使ってアップデートを簡単にしたいと思っていました。しかし、あなたの状況では、単純なコンソールアプリケーションにはXCopyデプロイメントで十分であるはずです。

+0

ありがとう - それは多くの意味があります。 –

1

ウィザード、Web、またはCDで選択した内容が分からない場合、setup.exeファイルはインストールファイルを参照できる必要があります。 CDメソッドを使用している場合は、出力ディレクトリにリビジョンディレクトリがあることがわかります。 1_0_0_4。アプリの各リビジョンが保存されます。私は@David_Strattonに同意します。あなたが本当にワンクリックパブリッシングを使用する必要がない限り、しないでください。 xcopy(robocopy)、zipfilesなどを使用するだけで、ストレスレベルを大幅に下げることができます。

0

David Strattonが述べたすべてが正しいです。 ClickOnceは、あなたがやろうとしていることに対して過剰なものです.Visual Studioを介して公開すると、常に私は頭痛を与えています。

他のインストーラを作成する場合は、NSISをお勧めします。 /Release/ディレクトリからファイルを取得するだけのインストーラを生成するのは比較的簡単です。インストーラを素早く動かすためのサンプルコードがたくさんあります。作業スクリプトを作成したら、インストーラーを右クリックしてコンパイルするだけで簡単に作成できます。

関連する問題