Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
IOUtils.WrapSharingViolations(() => { using (File.OpenRead(file));}, null, int.MaxValue, 1000);
* This source code was highlighted with Source Code Highlighter.как происходит распаковка, когда в архиве запакована папка?
Надо еще сделать так, чтобы он удалял архив после распаковки.
во вложенных папках архивы не распаковывать?
После распаковки в альтернативный поток добавлять метку о том что файл распакован автоматом и больше не распаковывать
Я слишком поздно понимаю, чем мне знакомо это разноцветье.
Глубина-глубина…
Слишком поздно.
Дип-программа накрывает меня, и увернуться нет сил.
Глубина-глубина…
А полотнище все полыхает, не собираясь гаснуть, как положено честной, законопослушной дип-программе…
Глубина-глубина…
Я ныряю все глубже, я падаю в эту цветную пропасть, в бесконечную череду фальшивых отражений, в цветной лабиринт, в безумие и беспамятство.
На моей машине нет таймера, и никто не придет к моей двери со своим ключом.
Глубина-глубина…
Я не могу выныривать с такой скоростью, с какой затягивает цветной водоворот!
Глубина-глубина...
inotifywait -e modify -e moved_to -e create "`pwd`"Будет ли данный сервис дорабатываться?Будет, если это будет кому-то нужно.
Хотелось бы еще опцию автоудаления (если ее нет).Сейчас залил новую версию и исходники по мотивам(ссылка в статье):
[Options]
Autodelete = yesПрогресс бар бы все таки не помешал, или хоть какоето оповещение: Началась распаковка, Успешно распакован, Ошибка, и т.д.
И да, еще, [WinRar] это както не правильно :) Заменить бы на [Архиватор] и в том же разделе указывать параметры было бы неплохо
[Extentions]
rar,zip,7zИ в том архиве что поставляется хорошо бы указать все возможные параметры с комментариями.ok
И почемуто с 7zip не работает на Win 7 x64Ну наверно потому, что параметры командной строки не подходят. Секция называлась [WinRar] не спроста — я, ибо ленивый, дал возможность только указать место, где лежит winrar.
В .net есть специальный компонент для этого, который автоматически создается в проекте при создании проекта сервиса
using System.ComponentModel;
using System.Configuration.Install;
using System.ServiceProcess;
namespace AE.Service
{
[RunInstaller(true)]
public partial class ExtractorServiceInstaller : Installer
{
public ExtractorServiceInstaller()
{
var serviceProcessInstaller =
new ServiceProcessInstaller
{
Account = ServiceAccount.LocalSystem,
Username = null,
Password = null
};
var serviceInstaller =
new ServiceInstaller
{
ServiceName = "My Windows Service",
DisplayName = "My New C# Windows Service",
StartType = ServiceStartMode.Automatic
};
Installers.AddRange(new Installer[] { serviceProcessInstaller, serviceInstaller });
}
}
}
* This source code was highlighted with Source Code Highlighter.Потому что незачем, если коротко. Установить сервис — задача того, кто его поставляет.
Не на всякую чисто административную (и редко используемую) команду есть UI. Это, в среднем, нормально (да, даже в Windows).Я считаю это вопрос концептуальной целостности. Через services.msc я могу остановить сервис, я могу изменить ему права, я могу сделать так, чтобы он никогда больше не запустился. Вроде как центральная точка управления службами. Но для удаления я должен пользоваться деинсталятором(который мне снесет весь пакет продукта, а не только сервис) либо лезть в командную строку.
Упрощаем жизнь: сервис автораспаковки архивов на C#