2013-06-05 17 views
53

C#/ NETでかなり簡単なアプリケーションを作成しましたが、それを公開するには良い方法がないと思います。これは、ユーザーが一度だけ実行する、または数ヶ月ごとに実行する「ツール」の一種です。このため、実行するためにインストールする必要がない場所に展開できる方法があることを望んでいます(ダウンロード後すぐにEXEファイルをダブルクリックするだけで実行できます)。インストールせずに実行できるVisual Studioアプリケーションを展開するための最良の方法

しかし、正しいバージョンの.NET、ライブラリなどを含める必要がありますので、正しく動作します。私はこれがClickOnceを使用するときに含まれていることを知っていますが、それでもアプリケーションはユーザーのコンピュータにインストールされます。

これを行う方法はありますか?

EDIT - \ binに\デバッグ

myAppName.application 
myAppName.exe 
myAppName.exe.config 
myAppName.exe.manifest 
myAppName.pdb 
myAppName.vshost.application 
myAppName.vshost.exe 
myAppName.vshost.exe.config 
myAppName.vshost.exe.manifest 
extraLibrary.dll 

だけでなく、2つのフォルダ

app.publish 
Resources 

答えて

70

ことが可能であり、一見簡単です:

  1. に(アプリケーションを "公開" 、例えば、ドライブCのあるフォルダ)、ビルドから、またはプロジェクトのプロパティから - > Publi sh。これにより、ClickOnceアプリケーション用のインストーラが作成されます。
  2. しかし、その代わりに生成されたファイルを見つけ、生産インストーラを使用しての(EXEファイルとの.configを、マニフェスト、および.applicationのファイル、任意のDLLファイルなどと一緒に) - それらはすべて同じフォルダ内にあり、通常はプロジェクトファイル(.csproj)の下のbin\Debugフォルダにあります。
  3. ユーザーのシステム上で直接デバッグすることを予期しない限り(例えば、リモートコントロールなどを使用しない場合は、* .vhost。*ファイルとapp.publishフォルダは必要ありません).pdbファイルは除外してください))、それをユーザーに提供します。

ClickOnceアプリケーションとして、アプリケーションの実行に管理者権限(アプリケーションがアプリケーションデータなどに使用するフォルダの通常のガイドラインに従っている場合)は必要ありません。

.NETの場合、アプリケーションにインストールされている(ほとんどのユーザーは既にインストールされています).NETの最低限必要なバージョンを確認し、ダウンロードページへのリンク付きダイアログを表示できますMicrosoftのWebサイト(または、Microsoftのページにリダイレクトできるページの1つを指す - これは、MicrosoftのURLが変更された場合、より堅牢になります)。小さなユーティリティであるため、.NET 2.0をターゲットにして、ユーザーが.NETをインストールする必要性を減らすことができます。

これは機能します。開発とテストの際にこの方法を使用して、アプリケーションを絶えずアンインストールしてインストールしなくても、最終的なアプリケーションの実行方法に非常に近い状態にします。

+0

恐縮です、ありがとう! zipに含める必要があるファイルを明確にすることはできますか? \ Debugの内容をOPに編集しました。 – Wilson

+0

@Wilson:done!私は "Resources"フォルダについてはわかりません。このようなサブフォルダを持つプロジェクトはありません。私はそれを残しておきます。あなたはそれを残して、あなたのアプリケーションが失敗するかどうかを調べることによってそれをテストすることができます。 –

+1

本当に徹底的な答えに感謝します。 – Wilson

1

まずあなたがして、ファイルを公開する必要があります。

  1. BUILD - > PUBLISHまたはソリューションエクスプローラ上で右クリックプロジェクトで - >プロパティ - >公開または選択したプロジェクトソリューションエクスプローラでとAltキーを押し+ 注:Visual Studio 2013を使用している場合は、プロパティでBUILDに移動し、DEBUG定数の定義を無効にしてTRACE定数を定義する必要があります。 Representation

  2. ファイルを特定のフォルダに保存します。 生成されたファイル(EXEファイルと.config、.manifest、および.applicationファイル、DLLファイルなど)を探します。これらはすべて同じフォルダにあります。通常はプロジェクトファイルの下のbin\Debugフォルダにあります.csproj)。 Visual Studioでは、それらはApplication Filesフォルダにあり、その中には.exeファイルとdllファイルが必要です。 は(あなたはClickOnceのおよびその他のファイルを削除して、このフォルダにzipファイルを作成し、それを配布する必要があります。)

注:ClickOnceアプリケーションは、システムにプロジェクトをインストールしていますが、それは一つの利点があります。ここで管理者権限を実行する必要はありません(アプリケーションがアプリケーションデータなどに使用するフォルダの通常のガイドラインに従っている場合)。

+2

なぜDEBUGとTRACEを特定の値に設定する必要がありますか? –

+0

トレースまたはデバッグのいずれかの条件付き属性をビルドに対して有効にするか、またはその両方を有効にするか、または両方を有効にするか、または両方とも有効にすることはできません。したがって、ビルドには4つのタイプがあります:Debug、Trace、both、またはどちらもありません。本番環境向けのリリースビルドには、どちらも含まれていないものがあります。ほとんどのデバッグビルドには両方が含まれています。 .................................................. ................................. https://msdn.microsoft.com/en-us/library/aa983575 (v = vs.71).aspx ......................................... .................................................. ......... https://msdn.microsoft.com/en-IN/library/ms164714​​.aspx – abe312

+0

一部のアトリビュートが順番になります... –

関連する問題