前提・実現したいこと
C#を使ってあるアプリのインストーラーを作っています。
ダウンロードしたZipファイルを解凍してファイルを移動してインストールするのですが、下の画像の例外が発生して解凍することができないZipファイルがあります。
他のZipファイルは同じコードで解凍できて、このZipファイルもOSの解凍機能を使って解凍できますが、このファイルだけできません。
発生している問題・エラーメッセージ
この例外が発生します。ファイルはOSの解凍機能で正常に解凍できるので、ファイルは壊れてないと思います。
該当のソースコード
C#
1 void downloadClient_DownloadFileCompleted(object sender, 2 System.ComponentModel.AsyncCompletedEventArgs e) 3 { 4 extractfiles(zipname); 5 } 6 void extractfiles(string zipnamee) 7 { 8 string zipPath = TempUri + @"\" + zipnamee; 9 string extractPath = InstallUri; 10 ZipFile.ExtractToDirectory(zipPath, extractPath); 11 }
(downloadClient...はファイルのダウンロードが完了したときに呼び出されるようになっています。)
(TempUriにはダウンロードしたZipファイルが入ってるフォルダーのパスが入ってます。zipnameはzipファイルの名前がはいってます、これを合わせて解答するZipファイルのパスを生成しています。)
(extractPathは解凍されたファイルが入る場所のパスを入れています。)
試したこと
上で書いたように、このアプリでダウンロードしたファイルをOSの解凍機能で解答してみると、ちゃんと解答されました。
他のZipファイルを同じコードで解凍することができるのを確認しました。
補足情報(FW/ツールのバージョンなど)
Windows 10 Pro Insider Preview 2004 21277.1000
Microsoft Visual Studio Community 2019
Version 16.8.3
アプリで解凍したいファイル↓
https://pop.4-bit.jp/bin/l-smash/L-SMASH_Works_r940_plugins.zip
※直リンクです、ご注意ください。
回答3件
あなたの回答
tips
プレビュー