Вы можете (очень хакерским способом) устанавливать приложения в режиме без вывода сообщений, используя adb. Вы должны включить отладку по USB, но просто вставьте APK в / data / app. То есть:
adb push MyApp.apk / data / app
adb install MyApp.apk (более чистый путь)
Вторая команда МОЖЕТ побудить к установке, я не помню, в верхней части моей головы.
Вы можете использовать DotNetZip для архивирования этого. Его можно использовать в любом приложении бесплатно.
Вот пример кода:
try
{
// for easy disposal
using (ZipFile zip = new ZipFile())
{
// add this map file into the "images" directory in the zip archive
zip.AddFile("c:\\images\\personal\\7440-N49th.png", "images");
// add the report into a different directory in the archive
zip.AddFile("c:\\Reports\\2008-Regional-Sales-Report.pdf", "files");
zip.AddFile("ReadMe.txt");
zip.Save("MyZipFile.zip");
}
}
catch (System.Exception ex1)
{
System.Console.Error.WriteLine("exception: " + ex1);
}
Вы смотрели SharpZipLib ?
Я полагаю, вы можете создавать zip-файлы с классами из System.IO.Packaging
, но каждый раз, когда я пытался его изучить, я обнаруживал, что это довольно сбивает с толку ...
Взгляните на эту библиотеку: http://www.icsharpcode.net/OpenSource/SharpZipLib/
Он довольно всеобъемлющий, имеет дело со многими форматами, имеет открытый исходный код, и вы можете использовать его в коммерческих приложениях с закрытым исходным кодом.
Его очень просто использовать:
byte[] data1 = new byte[...];
byte[] data2 = new byte[...];
/*...*/
var path = @"c:\test.zip";
var zip = new ZipOutputStream(new FileStream(path, FileMode.Create))
{
IsStreamOwner = true
}
zip.PutNextEntry("File1.txt");
zip.Write(data1, 0, data1.Length);
zip.PutNextEntry("File2.txt");
zip.Write(data2, 0, data2.Length);
zip.Close();
zip.Dispose();
Есть несколько библиотек, самые популярные из которых - DotNetZip и SharpZipLib .