Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Как снять защиту файла от записи? (http://www.flasher.ru/forum/showthread.php?t=208160)

alexandrratush 10.06.2014 11:52

Как снять защиту файла от записи?
 
Добрый день!
Разработано два приложения, одно из которых - админка, которая должна перезаписывать ХМЛ-файл настроек первого.
На некоторых Windows возникает
Цитата:

Error #3001: File or directory access denied
Код перезаписи файла:
Код AS3:

var stream:FileStream = new FileStream();
        stream.addEventListener(Event.COMPLETE, completeSaveHandler);
        stream.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
        stream.openAsync(_fileSettings, FileMode.UPDATE);
        stream.writeUTFBytes("<?xml version=\"1.0\" encoding=\"utf-8\" ?> " + xml);
 
private function errorHandler(e:IOErrorEvent):void
{
    trace(e.text); // Error #3001: File or directory access denied
}

Пробовал у себя ставить и снимать защиту файла от записи, тоже возникала данная проблема. Сказал чтобы пользователь снял защиту от записи, у него соответственно ничего не получилось.:)

Вопрос, можно ли как-то обойти эту защиту без участия юзера? Может при упаковке главного приложения возможно снять ее с файла настроек?
Спасибо!

caseyryan 10.06.2014 12:19

Было бы весело, если бы даже AIR приложение могло это делать без участия юзера) Смысл тогда в этой защите?
Можно запускать приложение от имени администратора

alexandrratush 10.06.2014 16:47

Цитата:

Сообщение от caseyryan (Сообщение 1167654)
Было бы весело, если бы даже AIR приложение могло это делать без участия юзера) Смысл тогда в этой защите?
Можно запускать приложение от имени администратора

Это понятно, но я еще спрашивал про возможность снять защиту с ХМЛ-файла при установке главного приложения, то есть явно ее убрать. Может есть какие-то способы это сделать в фоновом режиме?
P.S. Вы же знаете что не каждый юзер сможет запустить от имени администратора, или сделать что-то похожее.

caseyryan 10.06.2014 17:23

Можно сохранять файл в доступном месте, например в директории юзера, а не в папке с программой

alexandrratush 10.06.2014 19:18

caseyryan, в общем у меня получилось из главной программы каждый раз запускать батник, который сбрасывает атрибут "Только чтение" для нужных мне файлов. Как такое решение? Норм? :D

illuzor 11.06.2014 00:56

Цитата:

Как такое решение? Норм?
Жуткий костыль.

alexandrratush 11.06.2014 01:19

Цитата:

Жуткий костыль.
В моем случае наверное другого решения и не придумать, или я ошибаюсь?

illuzor 11.06.2014 02:07

alexandrratush, можно просто хранить файл где-нибудь ещё.

alexandrratush 11.06.2014 02:18

Заказчик настоял чтобы все файлы были в одном каталоге, и легко переносились с одного компа на другой. И главное приложение с админкой должны быть разработаны отдельно одна от другой.

alatar 11.06.2014 20:05

Цитата:

Сообщение от caseyryan (Сообщение 1167654)
Можно запускать приложение от имени администратора

При чем здесь права пользователя? Это обычный атрибут файла.
Цитата:

Сообщение от alexandrratush (Сообщение 1167683)
В моем случае наверное другого решения и не придумать, или я ошибаюсь?

attrib (тот который вы запускаете в батнике) это обычная программка (c:\Windows\System32\attrib.exe), можете запускать ее через NativeProcess.


Часовой пояс GMT +4, время: 16:17.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.