私は最近、.NETがインストールされていないコンピュータにC#アプリケーションを展開しようとしています。.NETアプリケーションをパッケージ化して.NETなしでコンピュータ上で実行する
私は知っている多くの質問StackOverflowで同じトピックの周り。
Packaging up the .net framework with a .net application deployment
Run a .net application without installing .net client profile?
Run C# windows application in windows XP without installing .NET Framework
だから、上記の質問に対する回答のすべてが、それがなくては不可能であると述べている:ここで私はすべてに回答を読んで、そのうちのそれらのいくつかをされています1つのソフトウェアはSalamander .NET Linkerでした。唯一の問題は、Salamenderによって処理された後にアプリケーションを実行できないように見えることです。 .NET仮想マシンを実行する必要があるため、これ自体は不可能であると私は理解しています。しかし、これまではJavaアプリケーションを作成しており、JVM全体を出荷しました。意外にも、彼らはまだ働いた。したがって、これが上記の質問と重複しない理由は、私の本当の疑問があるからです:
私はパッケージ化する必要がありますか?私がすべてをパッケージ化することができれば、実行しているアプリケーションと同じディレクトリにそれらを置くとアプリケーションを実行できますか?
これには1つの解決策が見つかりました。Microsoft .NET Redist Packageこの問題の唯一の問題は、独自のGUIがあることです。それとは別に、完璧なフィット感があります。だから、誰でも私に2つのうちの1つを教えてもらえますか?
コマンドラインの.NETパッケージはありますか?あれば、どこからダウンロードすればいいですか?
.NETインストールからコピーする必要があるディレクトリがないか、そうすることができない場合は、およそどのディレクトリが必要ですか?
は、私はこれらのファイルとディレクトリがシステム固有であることを理解し、私の.NETのインストールは、お使いのコンピュータ上で動作しない可能性があることが、C#はJavaのようであれば、これは達成可能でなければなりません。それは...ですか?サイズは制限ではなく、アプリケーションとそのすべてのファイルが1GBかどうか、または1MBだけであるかどうかは問題ではありません。
他の解決策がない場合は、Dependency Walkerを使用して、自分のプログラムのすべての依存関係を確認してください。私がそれらのほとんどをパッケージ化するなら、私のアプリケーションは、理論的にはうまくいくのでしょうか? .NETの場合
これらの静的リンカーはひどい考えです。あなたのアプリケーションは、セキュリティ修正やその他の拡張機能(Windows Updateなど)の恩恵を受けることはありません。 –