2009-08-08 22 views
9

.NET 2.0アプリケーションを移植可能な実行可能ファイルとして展開することは可能ですか? ターゲットマシンに.NET Framework 2.0がインストールされていない状態で、Flashディスクでプログラムを実行できるようにします。または、フレームワークのインストールが不要になるように、必要な.NET DLLを使用してプログラムを配布することは可能でしょうか?C#(.NET 2.0)アプリケーションを移植可能なアプリケーションとして展開するには?

.NETのexeファイルをRemoteSoft Salamander、Xenocode Postbuild、Thinstallなどの単一のネイティブ実行可能ファイルに変換するためのツールがいくつかあることは知っていますが、残念ながら私は余裕がありません。

私もMonoのmkbundleで依存関係を埋め込むしようとしたが、それは= \私のプログラムを台無しにしない(何もXPビジュアルスタイル、いくつかのコントロールとその機能を壊した)

ヘルプの任意の種類をいただければ幸いです:)

ありがとうございました。

fyi:私のIDEは、Microsoft Visual C#2008 Express Editionで、ターゲットフレームワークとして.NET Framework 2.0を使用しています。

答えて

9

さて、あなたがインストールされている.NETていなければならないだろうサンショウウオやThinstall社(現在はVMWareのThinApp)のようなもの以外であります本当に.NETを実行したい場合。

実際にインストールすることなく(プログラムを静的にリンクするのではなく、フラッシュドライブにMonoを含めて)、Monoを実行することは可能です。私はGACの場所のようなものについてランタイムに伝える必要があるので、それは難しいと思う。

モノに関するよくある質問は表示されませんが、Monoメーリングリストにpingをしてもらいたいと思うかもしれません。

8

いいえ;あなたがインストールされたフレームワークか、言及したようなツールが必要です。

あなたは、潜在的に、モノの新しい静的リンカで見ることができるが、それは...それについて

1

よくThinstallは非常に高価で、すべての状況で機能しません。 .Netがインストールされていない状態でアプリを実行したい場合は、Xenocode has a toolのツールがありますが、これはあなたには可能ですが、thinstallよりも安いです。

しかし、あなたが私の意見を聞いたら、それを使うのは悪い考えです。あなたのターゲット市場を確かめて、.Net 2(これはかなり普遍的です)をインストールし、安価なObfuscatorツールを使ってすべてのライブラリファイルを1つのファイルにパックします。

私はThinstallを長い間使用してきましたが、私はこの技術を多く使っていましたので、私は経験なしで撮影するつもりはありません。

1

私は自分自身がこれを試みたが、ここでの手順ですされていない。

  • は、C#プロジェクトを作成します。
  • ソリューションエクスプローラでは、プロジェクト内に「参照」という行があります。その近くのプラスをクリックします。これで、プロジェクトのすべての依存関係が表示されます。使用できないすべての参照を削除する(削除して実行/ビルドする)可能であれば未使用であるエラーがある場合は追加して戻す(マウスの右ボタンでクリックすると「参照の追加"))。
  • 各参照について、プロパティに移動し、プロパティ "コピーローカル"で "True"を選択します。各画像について、Icon ...は参照先と同じようになります。
  • プロジェクトを再構築します。ビルド/リリースフォルダ(bin内)には、多くのdllファイルがあります。これらのファイルには、すべてのリソースの情報が含まれています。
  • フォルダ内のすべてのファイル(ステップ番号4から)を新しいフォルダにコピーします。
  • "\ Microsoft.Net \ Framework \"に移動し、 "mscrolib.dll"というファイルを手順5の新しいフォルダにコピーします。このファイルが見つからない場合は、 Windowsフォルダを含むハードドライブ。
  • あなたのアプリはポータブルです(フォルダ全体の内容で)。

- 出典:http://www.codeproject.com/Tips/392308/Csharp-Portable-Exe-File

+0

は、この動作しますか? – Andreas

関連する問題