75: Path/File access error под Vista и Windows 7

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Особист
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 122
Зарегистрирован: 10.05.2006 (Ср) 12:46

75: Path/File access error под Vista и Windows 7

Сообщение Особист » 23.10.2009 (Пт) 20:22

Привет!
Столкнулся с такой дрянью и никак не могу найти ответ, как быть. (((
Прога написана на VB 6, часто использует такой код: ... open "filename" for output as #1, таким образом создаёт файл, куда пишет лог.
Проблема возникает под Windows Vista и 7: эти ОС не дают создать файл. Сообщение такого вида: 75: Path/File access error. Ошибки 75 нет в винде - это ошибка именно программы.
Значит, винда просто блокирует попытки выполнить такую команду.
Обойти по-другому, без создания файла, никак нельзя.
Разумеется, если сделать "Run as Administrator", проблема исчезает. Но нужно всё таки, чтобы не только админ, но и любой пользователь мог её запустить. Программа не для локальных нужд конкретного человека, а shareware, для широкого круга пользователей.
Как вариант - можно ли искусственно заставить ОС присвоить запускаемому exe-шнику админские права (хотя очень сомневаюсь что после этого антивирусы не начнут считать мою программу вирусом)?
Использую Inno Setup для создания инсталлятора, но и в этой программе нет пути обхода проблемы.
Очень прошу вашей помощи, заколебался искать решение... (((
RANDOMIZE USR 15619: REM: LOAD "VBSTREETS"

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: 75: Path/File access error под Vista и Windows 7

Сообщение alibek » 23.10.2009 (Пт) 20:28

Не надо писать пользовательские данные в каталог программы.
Пиши в AppData.
Lasciate ogni speranza, voi ch'entrate.

Особист
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 122
Зарегистрирован: 10.05.2006 (Ср) 12:46

Re: 75: Path/File access error под Vista и Windows 7

Сообщение Особист » 23.10.2009 (Пт) 20:45

Alibek, спасибо за совет! Действительно очевидное решение!
Но как быть, если программа должна закачивать странички из Интернета в заданную именно пользователем папку, например, C:\Downloads\..., и каждую группу таких файлов помещать лог, как всё прошло?
Неужели следует ограничить его в выборе такой папки? А если он захочет снести винду, ему сложнее будет эти данные потом найти.

Но в любом случае спасибо, т.к. по сути предложенное тобой решение, хоть и создает неудобство пользователю, легко реализуемо.
RANDOMIZE USR 15619: REM: LOAD "VBSTREETS"

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: 75: Path/File access error под Vista и Windows 7

Сообщение iGrok » 23.10.2009 (Пт) 21:02

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

Права на запись в пользовательские папки ("Мои Документы" и т.п.) у тебя есть. Если юзер - админ, у него есть права на запись вовсюда.
Если юзер сам выбирает место, куда писать - при появлении такой ошибки просто сообщай ему, что у него нет прав на запись в эту папку, и предлагай выбрать другое место.

А лог - либо туда же, рядом с файлами, либо в AppData. В зависимости от того, для чего он тебе требуется.
label:
cli
jmp label

NeverGone
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 107
Зарегистрирован: 11.11.2007 (Вс) 21:05
Откуда: Москва

Re: 75: Path/File access error под Vista и Windows 7

Сообщение NeverGone » 24.10.2009 (Сб) 0:45

Где-то на форуме я видел пример выполнения части кода с повышенными привилегиями...
архивчик "Elevation.rar" чтоли... :roll:

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: 75: Path/File access error под Vista и Windows 7

Сообщение iGrok » 24.10.2009 (Сб) 3:25

Это был мой пример запуска себя же с повышением привелегий при помощи RunAs для выполнения какого-то конкретного действия, типа прописывания себя в автозагрузку и т.п.
Это, ИМХО, не совсем то.
label:
cli
jmp label

Особист
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 122
Зарегистрирован: 10.05.2006 (Ср) 12:46

Re: 75: Path/File access error под Vista и Windows 7

Сообщение Особист » 24.10.2009 (Сб) 11:05

Я всё же решил последовать совету Alibek'а и iGrok'а и ограничить пользователя доступными папками.
Думаю, это будет оправданней, т.к. уверен что в будущих версиях Windows политика доступа будет лишь ужесточаться.
Спасибо за подсказки!
RANDOMIZE USR 15619: REM: LOAD "VBSTREETS"

JIeT4uK
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 145
Зарегистрирован: 23.03.2003 (Вс) 4:48
Откуда: Украина, Донецк

Re: 75: Path/File access error под Vista и Windows 7

Сообщение JIeT4uK » 30.03.2010 (Вт) 6:54

а никто не подскажет как организовать запуск от имени админа под семеркой????7


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 8

    TopList  
cron