2016-05-05 27 views
0

内部にたくさんのフォルダを含む単一のexeファイルを作成します。自己解凍型exe C#.net 4.0を作成するには

私はこのexeファイルは、私は、フォルダに埋め込まれたzipアーカイブを解凍しようとしていた.NET 4.0

をコンピュータ上で仕事をしたいが、それはあなたのことができるようになり、.NET 4.0

+0

もしあなたが_ "それは単純ではありません.net 4.0" _はあなたが '' ZipFile''クラスを使うことができないということを指しているなら、私はあなたに伝えたいことがあります: 'ZipFile'クラスは実際に使用可能です。 NET 4.0! '%SystemRoot%\ Microsoft.NET \ assembly \ GAC_MSIL'のどこかにある' System.IO.Compression.FileSystem.dll'ファイルをインポートするだけです。それを探してみてください。見つかったら、あなたのプロジェクトへの参照としてインポートしてください。それがうまくいくでしょう! –

+0

@Visual Vincent、プライマリ参照 "System.IO.Compression.FileSystem"は、フレームワークアセンブリ "System.IO.Compression、Version = 4.0.0.0、Culture = neutral、PublicKeyToken =現在ターゲットとされているフレームワークでは解決できなかった「b77a5c561934e089」が含まれています。 ".NETFramework、バージョン= v4.0"この問題を解決するには、参照 "System.IO.Compression.FileSystem"を削除するか、 "System.IO.Compression、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089"を含むフレームワークバージョンにアプリケーションをリターゲットします。 – PolyProgrammist

+0

それは私のために働くのですか?私は '%SystemRoot%\ Microsoft.NET \ assembly \ GAC_MSIL \ System.IO.Compression.FileSystem \ v4.0_4.0.0.0__b77a5c561934e089 \ System.IO.Compression.FileSystem.dll'からインポートしました。 –

答えて

0

に簡単ではありません.zipファイルをC#インストーラプロジェクトに追加し、そのビルドアクションを「組み込みリソース」に設定します。次に、C#インストーラプログラムは、Assembly.GetManifestResourceStreamを使用してそのファイルを抽出し、ストリームの内容をディスクに書き出します。

+0

しかし、どうすれば.net 4.0で解凍できますか? – PolyProgrammist

+0

あなたの質問のコメントから、あなたが抱えている問題は組み込みのzip/unzipライブラリを見つけることです。私はそれについてはあまりよく分かりませんが、あなたは[SharpZipLib](https://icsharpcode.github.io/SharpZipLib/)や[7-Zip]のようなコマンドラインプログラムのようなサードパーティのライブラリを使うことができますhttp://www.7-zip.org/)。 (メインDLLにリンクできる7-Zipの.NETラッパーもありますが、試していません) – adv12

+0

私は組み込みを好むが、サードパーティを受け入れる。しかし、私は1つのexeが何とかdllを使用できる状況を作り出すことができないと確信していません – PolyProgrammist

関連する問題