最近、.NETがインストールされていないコンピューターにC#アプリケーションを展開しようとしています。
StackOverflowで同じトピックについて多くの質問があったことを私は知っています。ここにそれらのいくつかがあります、そのうちの私はすべてへの応答を読みました:
.netアプリケーションのデプロイメントを使用して.netフレームワークをパッケージ化する
.netクライアントプロファイルをインストールせずに.netアプリケーションを実行しますか?
.NET Frameworkをインストールせずに、Windows XPでC#Windowsアプリケーションを実行する
したがって、上記の質問に対するすべての回答は、特定のソフトウェアなどがなければ不可能であると述べています。言及されたソフトウェアの1つは、Salamander.NETLinkerでした。それに関する唯一の問題は、Salamenderによって処理された後、アプリケーションを実行できないように見えることです。.NET仮想マシンを実行する必要があるため、これ自体は不可能であることを理解しています。ただし、過去にJavaアプリケーションを作成し、それらと一緒にJVM全体を出荷しました。驚いたことに、彼らはまだ働いていました。したがって、これが上記の質問と重複しない理由は、私の本当の質問が次のとおりであるためです。
.NET Frameworkのどのアイテムをパッケージ化する必要がありますか?すべてをパッケージ化できた場合、実行しているアプリケーションと同じディレクトリにそれらを配置すると、アプリケーションを実行できるようになりますか?
これに対する1つの解決策、 Microsoft .NETRedistPackageを見つけました。これに関する唯一の問題は、独自のGUIがあることです。それを除けば、それは完璧にフィットするでしょう。だから、誰かが私に2つのことのいずれかを教えてもらえますか?
コマンドラインの.NETパッケージはありますか?ある場合、どこでダウンロードしますか?
ない場合、またはそうすることが非現実的である場合、.NETインストールからコピーする必要があるディレクトリはおおよそどのくらいですか?
これらのファイルとディレクトリはシステム固有であり、私の.NETインストールはコンピュータで機能しない可能性があることを理解していますが、C#がJavaのようなものであれば、これは達成可能であるはずです。それは...ですか?サイズは制限ではありません。アプリケーションとそのすべてのファイルが1GBであるかどうか、または1MBしかないかどうかは私には関係ありません。
他に解決策がない場合は、DependencyWalkerを使用してプログラムのすべての依存関係を確認しました。それらのほとんどをパッケージ化した場合、理論上、私のアプリケーションは機能しますか?