.NETで開発されたアプリケーションをネイティブ実行可能ファイルに変換する方法はありますか(ソースが含まれています)?
フレームワーク全体(.NET Framework 3.5 SP1まで)のインストールには多くの時間がかかります。コンピューターがインターネットから更新されるとは限りません。独立した実行可能ファイルを生成するためにNGenを呼び出すことは可能ですか?
ありがとう
.NETで開発されたアプリケーションをネイティブ実行可能ファイルに変換する方法はありますか(ソースが含まれています)?
フレームワーク全体(.NET Framework 3.5 SP1まで)のインストールには多くの時間がかかります。コンピューターがインターネットから更新されるとは限りません。独立した実行可能ファイルを生成するためにNGenを呼び出すことは可能ですか?
ありがとう
まだ利用できませんが、Monoプロジェクトチームは、探していることを実行するAheadofTimeコンパイラに取り組んでいます。MonoはiPhone(Unityなど)で動作することを目的としていますが、すべてのプラットフォームで動作するはずです。
編集: Mono x86はサポートされていますが、依存クラスにパックされる機能がまだ含まれているかどうかはわかりません(聞いたインタビューによると、計画されています)
編集2:依存関係を含めることは現在サポートされています、Dykamに感謝します!
いいえ、NGenされたコードにはまだフレームワークが必要です-それはあなた自身のアセンブリのコードを事前にJITするだけです。また、CLR自体のフレームワークも必要です。
Monoには、iPhoneでの使用を計画している静的コンパイラがあると思います。それがWindowsでも機能するかどうかはわかりませんが。
一部の人々がこれに使用したThinstallと呼ばれる製品がありました。現在はThinAppと呼ばれています。基本的にはアプリケーションの仮想化です。商用ですが、試用版を入手できるかもしれません。
個人的には、そのような製品については多少心配します。展開に関しては、主流のやり方から離れることは、多くのサポートコールのレシピのように聞こえます。うまくいかないことがたくさんあります。私はそれがうまくいかないと言っているのではなく、ただ警戒するだけです。
.NET 3.5(SP1)クライアントプロファイルを見ましたか?これは、インストール要件を少し減らすのに役立つ場合があります。
.net 3.5 SP1 では、.net フレームワークの小さなサブセットをインストールできます。このスクリーンショットを見てください:
(ソース: windowsclient.net )
NGenを使用して、アプリケーションをネイティブ実行可能ファイルにすることができますが、それでも.NetFrameworkに依存します。
一部の難読化ツールはこれを実行しますが、事前に(ユーザーに出荷する前に)実行する必要があります。例として、remotesoftのSalamanderがあります。
vmware の ThinApp (以前の Thinstall)。昔は高かったけどね。
.NET1.1または.NET2.0など、対象とする .NET のバージョンのみをインストールする必要があります。
編集:3.5バージョンをターゲットにする必要がある場合は、2.0と3.5の両方をインストールする必要があります
ILMerge (無料) は複数のアセンブリを 1 つに結合できますが、コア ランタイムでは機能しないと思います。
要するに、.NET プログラムを実行したい場合は、.NET Framework をインストールする必要があると思います。
Ngen.exe ではないのはなぜですか? http://msdn.microsoft.com/en-us/library/6t9t5wcf(v=vs.80).aspx
それはまた変換.Net Programs
されNative Programs
、.Net Framework を持っている場合は既にそれを持っています
ここでそれを行うと主張する商用製品があります:
http://www.xenocode.com/Obfuscator/
「.NET Framework をインストールせずに、.NET アプリケーションを安全に展開する」
ただし、これの欠点が何であるかはわかりません
2007 年にこの問題を解決するために私たちが設立した唯一の製品はXenocode Postbuild でした。それ以来、私たちはこの製品をうまく使用しており、非常に優れた仮想化機能も使用しています。
唯一の問題は、購入したバージョンが Windows 7 をサポートしていないことです (バージョン 4.0 未満でコンパイルされたプログラムを実行するために .net フレームワークをインストールする必要はありません)。だから私はXenocodeに書いた。彼らは答えた
Win 7 のサポートを受けるには、最新バージョンの Postbuild (現在は.NET Obfuscatorと呼ばれています) にアップグレードする必要があります。Win 7 は、Postbuild 2007 でサポートされているプラットフォームではありません。