Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.
  • Форумы
  •  » Firefox
  •  » Лиса не устанавливает "рабочию папку" - критический баг!

№130-03-2011 04:59:04

Keepun
Участник
 
Группа: Extensions
Зарегистрирован: 08-12-2007
Сообщений: 591
UA: Firefox 3.6
Веб-сайт

Лиса не устанавливает "рабочию папку" - критический баг!

Все качаем через Лису и запускаем из нее скаченные прожки.

Суть бага:
При запуске скаченной прожки из списка Загрузки сама Лиса не меняет переменную PWD (CurrentDirectory или Рабочая папка).


Для непосвященных поясняю.

При запуске программы ей присваивается переменные среды. (Что увидеть их, нужно в консоль ввести "set".) Так вот переменная PWD отвечает за Рабочию папку. То есть для Лисы она у многих = "c:\Program Files\Mozilla Firefox\", если вы сами ее не меняли. Сама программа может ее менять, но это редко нужно. Это и есть относительный путь.

При указании создать файл "new.txt" без указания абсолютного пути система поставит строку из PWD и для Лисы это будет "c:\Program Files\Mozilla Firefox\new.txt".

Проблема в том, что при запуске  прожки из Лисы ей автоматически присваивается Лисья PWD. В этоге программа может случайно испортить вам содержимое c:\Program Files\Mozilla Firefox\ (Особенно, если вы по глупости работаете с правами Админа)

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


Запостите на багзиллу плиз...

Отредактировано Keepun (30-03-2011 05:00:10)


Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?

Отсутствует

 

№230-03-2011 10:39:28

Buzzzzer
buzzzzeR
 
Группа: Members
Откуда: От туда
Зарегистрирован: 22-07-2010
Сообщений: 92
UA: Firefox 4.2
Веб-сайт

Re: Лиса не устанавливает "рабочию папку" - критический баг!

Это не переменные среды, а "current directory" - текущая рабочая директория, откуда запущена программа, а не путь, где лежит exшник проги, так что с точки зрения [firefox], имхо, всё верно.
1.Это прога кривая, если она вместо пути к своему exe берет "getcurrentdir". Допиливать шеллы, откуда она может запускаться из-за этой кривости не нужно, т.к. в работе других прог путькEXE часто не равен пути, откуда нужно запустить прогу. (Хотя бы cmd)
2.в Program Files вообще не нужно давать писать всяким разным неизвестным программам.

Отредактировано Buzzzzer (30-03-2011 10:47:05)


Внимание (!) сообщение заговорено.
Модерирование данного сообщения приведёт к половому бессилию и неизлечимым венерическим заболеваниям !

Отсутствует

 

№330-03-2011 19:07:13

Keepun
Участник
 
Группа: Extensions
Зарегистрирован: 08-12-2007
Сообщений: 591
UA: Firefox 3.6
Веб-сайт

Re: Лиса не устанавливает "рабочию папку" - критический баг!

Buzzzzer, http://msdn.microsoft.com/en-us/library/ms682425.aspx изучи параметр LPCTSTR lpCurrentDirectory

Если программа запускает стороннию прожку, то во избежании проблем с папками CurrentDirectory должен быть задан новый.

Под Линь эта проблема менее актуальна.

Добавлено 30-03-2011 19:11:08

Buzzzzer пишет

т.к. в работе других прог путькEXE часто не равен пути, откуда нужно запустить прогу. (Хотя бы cmd)

Тут банальная работа консоли, когда файл должен быть создан по месту вызова, а не в папке самой проги (например ProgramFiles или /usr/bin/)


Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?

Отсутствует

 

№430-03-2011 19:47:02

Keepun
Участник
 
Группа: Extensions
Зарегистрирован: 08-12-2007
Сообщений: 591
UA: Firefox 3.6
Веб-сайт

Re: Лиса не устанавливает "рабочию папку" - критический баг!

https://bugzilla.mozilla.org/show_bug.cgi?id=646486
за сам Английский не ручаюсь полностью, но вроде должны понять...


Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?

Отсутствует

 

№531-03-2011 10:00:23

Buzzzzer
buzzzzeR
 
Группа: Members
Откуда: От туда
Зарегистрирован: 22-07-2010
Сообщений: 92
UA: Firefox 4.2
Веб-сайт

Re: Лиса не устанавливает "рабочию папку" - критический баг!

Всё же, я не согласен.
Где в http://msdn.microsoft.com/en-us/library/ms682425.aspx написано что lpCurrentDirectory нужно во избежании проблем ставить свой?
Там всего лишь написано, что эта фича позволяет переопределить рабочий каталог при старте, если это необходимо. Но они никого не обязывают это делать во избежания пролем.

Keepun пишет

Тут банальная работа консоли

Это ж пример. Ну, например, я периодически пользуюсь мелкими утилитами, которым через командную строку передаю что либо, и которые у меня расшарены в Path.
Пользуюсь в far или тоталкомандере, а это по сути тот же родительский процесс, как и [firefox], который будет вызывать "нашего подопытного".
К примеру, если зайти в Far в каталог с каким нибудь архивом и запустить unrar -e архив.rar, если процесс-предок будет менять lpCurrentDirectory на отличный от текущего то unrar попросту не найдет наш архив и придется всегда писать unrar e *путь к архиву*\архив.rar.  И зачем же?
Вместо этого программа должна различать понятия Working Directory, Home directory и путь запуска (http://msdn.microsoft.com/en-us/library/ms683197%28VS.85%29.aspx), чтоб не приходилось [firefox] или еще кому то страховатся за них.
p.s. Опять же это имхо, нечего меня минусовать за каждый пост...

Отредактировано Buzzzzer (31-03-2011 10:01:14)


Внимание (!) сообщение заговорено.
Модерирование данного сообщения приведёт к половому бессилию и неизлечимым венерическим заболеваниям !

Отсутствует

 
  • Форумы
  •  » Firefox
  •  » Лиса не устанавливает "рабочию папку" - критический баг!

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]