1. ホーム
  2. c#

[解決済み] Visual Studioアプリケーションをインストールせずに実行するための最適なデプロイ方法

2023-07-16 22:33:46

質問

C#/.NET でかなり簡単なアプリケーションを書いたのですが、それを公開する良い方法がわかりません。それは、ユーザーが一度だけ実行するか、または数ヶ月ごとに実行するような、一種の "ツールです。このため、実行するためにインストールする必要がない (ダウンロード後すぐに EXE ファイルをダブルクリックするだけで実行できる) 配置方法があることを期待しています。

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

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

EDIT - \binDebug

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

どのように解決するのですか?

それは可能であり、驚くほど簡単です。

  1. アプリケーションを (たとえば、C ドライブのいくつかのフォルダーに) 発行するには、メニューから ビルド メニューから、またはプロジェクトのプロパティから → 公開する . これでインストーラが作成され クリックワン アプリケーションのインストーラーを作成します。
  2. しかし を使用する代わりに、生成されたインストーラーを使用して を使用するのではなく、生成されたファイル (EXE ファイルと .config , .マニフェスト そして .アプリケーション ファイル、および DLL ファイルなど) - これらはすべて同じフォルダーにあり、通常は bin\Debug フォルダーにあります。 .csproj ).
  3. そのフォルダを Zip で圧縮します (すべての *.vhost.* を削除します。 ファイル、および app.publish フォルダ (これらは必要ありません)、および .pdb ファイル (ユーザーのシステムで直接デバッグする (たとえば、リモートコントロールで) ことが予想される場合を除く) を作成し、それをユーザーに提供します。

追加の利点は、ClickOnce アプリケーションとして、実行するために管理者権限を必要としないことです (アプリケーションがアプリケーション データ用に使用するフォルダーなどに関する通常のガイドラインに従う場合)。

.NET に関しては、アプリケーションに最小限必要なバージョンの .NET がインストールされているか (またはまったくインストールされていないか) をチェックし、Microsoft ウェブサイトのダウンロード ページへのリンクを含むダイアログを表示できます (または、Microsoft ページにリダイレクトできるページのいずれかを指定します - これは Microsoft URL が変更になってもより強固になります)。これは小さなユーティリティなので、ユーザーが .NET をインストールする確率を減らすために、.NET 2.0 をターゲットにすることができます。

うまくいきます。私たちは、アプリケーションを常にアンインストールおよびインストールすることを避け、最終的なアプリケーションがどのように実行されるかにかなり近くなるように、開発およびテスト中にこの方法を使用しています。