Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   (статья) Переменные среды (http://forum.oszone.net/showthread.php?t=61201)

Vadikan 15-02-2006 09:55 406719

(статья) Переменные среды
 
Цитата:

В этой статье будут рассмотрены два типа переменных, использующихся в командных (пакетных, исполняемых) файлах, оболочках программ выбора приложений для автоматической установки и тому подобных случаях для задания путей командам установки, копирования, перемещения, а также прочих операций, совершаемых над файлами. Использование абсолютных путей (c:\Documents and Settings\All Users\Рабочий стол) не всегда удобно (так как, например, мы не всегда заранее знаем, на каком диске у нас возникнет необходимость установить операционную систему), а при использовании пременных сред (%ALLUSERSPROFILE%\Рабочий стол) и локальных переменных, получается гораздо короче, удобнее и не привязывает к определенной букве диска.
Читать дальше...
Статья основана на сообщении specialist в теме Маленькие Хитрости.

a1ex 15-02-2006 22:01 407004

А почему вдруг локальные переменные стали временными? Ведь время их жизни может быть таким же как и у системных ;). А локальные они потому, что существуют только в окружении конкретного CMD.

EgOrus 15-02-2006 22:50 407020

specialist
Vadikan
%ALLUSERSPROFILE%, %SYSTEMDRIVE%, %TEMP%, %PATH% и т.п. правильнее назвать не системными переменными, а переменными окружения или еще переменными среды. Причем если %ALLUSERSPROFILE% - это переменная среды пользователя, то %SYSTEMDRIVE% - системная переменная окружения.
Еще статью можно дополнить сторонними утилитами например setenv.exe, кот. позволяет создавать "не временные" переменные окружения различного типа (User Env, Machine Env, Def User Env) из ком строки с использованием все тех же переменных окружения.



Vadikan 15-02-2006 22:51 407021

a1ex
Логично. Я просто не в курсе как вообще в локализованой системе называются Environment Variables. Переменные среды? Тогда, наверное, статью надо назвать "Переменные среды и локальные переменные"?
/Не видел пост EgOrus

Vadikan 15-02-2006 22:53 407022

EgOrus
A setenv не тоже самое делает, что можно сделать добавив переменную через HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment ?

/статья исправлена

Petya V4sechkin 16-02-2006 10:58 407141

Vadikan
Если добавлять переменные через реестр, то они начинают действовать только после перезагрузки.
А setenv.exe или setx.exe делают их доступными уже в текущей сессии (но не в текущем процессе, почему-то, а во всех следующих процессах).

Вот еще ссылка по классификации переменных:
http://www.microsoft.com/technet/scr..._wsh_kmmj.mspx

a1ex 16-02-2006 11:09 407144

Vadikan
А я же и не помню, как было в английской ;).В локализованной XP они называются системные и локальные.
А переменные окружения IMHO , это совокупность системных и локальных переменных, которые получает вновь запущенный CMD по наследству из родительского процесса.
EgOrus
Центр справки и подеержки XP с MUI говорит, что ALLUSERSPROFILE локальная, TEMP системная и пользовательская, SYSTEMDRIVE и PATH системные.

Vadikan 16-02-2006 22:25 407388

a1ex
Цитата:

А переменные окружения IMHO , это совокупность системных и локальных переменных, которые получает вновь запущенный CMD по наследству из родительского процесса.
Переменные среды = Environment Variables - это название кнопки и диалогового окна, вызываемого кликом по ней в свойствах системы - дополнительно. Я правильно, понимаю? Тогда новое название статьи "Переменные среды и локальные переменные" вполне верно отражает суть содержания. Ну можно изменить "среды" на "окружения", это все-таки не так ухо режет.
%allusersprofile% локальная? Меня вообще не удивляет разброс в переводах, т.к. они совсем необязательно делаются одним человеком.

Petya V4sechkin
Цитата:

А setenv.exe или setx.exe делают их доступными уже в текущей сессии (но не в текущем процессе, почему-то, а во всех следующих процессах).
Пользовательской сессии, а не командной, так? Спасибо, я внесу это в статью. Ссылка тоже кстати, т.к. я собирался дополнить все это дело рассказом о импорте желаемых значений переменных на Т-12. Только как перевести Volatile... Непостоянные, наверное.

Petya V4sechkin 17-02-2006 09:18 407498

Vadikan
Нда, с классификацией переменных черт ногу сломит :) Одно дело - для пользователей, другое (по ссылке, что я приводил) - для программирования. К примеру, там переменные типа AllUsersProfile, UserProfile, SystemRoot, SystemDrive являются "переменными процесса" (и не относятся к "системным"). Хотя по обычной логике (не программистской :)) их хочется обозвать как раз системными.

Цитата:

Пользовательской сессии, а не командной, так?
Да, я имел в виду:
Сессия = пользовательская сессия;
Процесс = командная сессия.

Volatile, наверное, можно обозвать "переменными сессии пользователя" или просто "переменными сессии" (Applies to current logon session and is not saved between logoffs and restarts).

a1ex 17-02-2006 11:44 407564

Vadikan
Цитата:

%allusersprofile% локальная? Меня вообще не удивляет разброс в переводах, т.к. они совсем необязательно делаются одним человеком.
Специально отключил MUI, в английской она тоже локальная. Короче там все переменные локальные, кроме системных. А системые есть встроенные , я так понимаю это типа TIME, и прописанные в кусте local_machine. Видимо allusersprofile прописывается в current_user.
Petya V4sechkin
Цитата:

А setenv.exe или setx.exe делают их доступными уже в текущей сессии (но не в текущем процессе, почему-то, а во всех следующих процессах).
Для текущего процесса они забыли сделать простую команду set Variable=Value , можно добавить и самому ;).

Dirk Diggler 17-02-2006 22:40 407835

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

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
а задать эти значения - в
Код:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

Vadikan 17-02-2006 23:53 407848

a1ex
Да, действительно, я сейчас нашел сам это в справке. Я понял логику :) Системные - возвращают одинаковые значения для всех пользователей, а локальные - возвращают различные значения, в зависимости от залогиненного пользователя (%username%, например). С %ALLUSERSPROFILE% действительно непонятно, что-то я сходу не нашел где она прописана. Может HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList, но это HKLM и прямо сейчас я уже не моуг экспериментировать.

Petya V4sechkin
С Volatile понятно. Да, я видел, что там страница про WSH и дальше второй таблицы не пошел :)

All
Расковыряли переменные :) Но надо как-то определяться с классификацией :) Значит от справки идет: Системные и Локальные (пользовательские). Это я могу отклассифицировать в статье легко. У нас еще есть Локальные, используемые в скриптах. И как нам их отделить от пользовательских? Может быть сделать так:

Введение
<..>

Переменные среды
Четко разделить приведенные примеры переменных на Системные и Локальные (пользовательские) в соотв. со справкой Виндовс и об'яснить в чем разница.

Использование переменных в командных файлах (вместо Локальные переменные)
Первый пример
Код:

DEL /F /Q "%AllUsersProfile%\Главное меню\Активация Windows.lnk"
DEL /F /Q "%AllUsersProfile%\Главное меню\WindowsUpdate.lnk"

и его описание пойдут сюда.

Далее сказать, что в командых файлах при помощи SET можно задавать любые переменные, действующие на протяжении командной сессии. Т.е. вообще не называть их Локальными, чтобы не было путаницы в статье :) И показать второй пример RunOnceEx, а затем третий.

Изменение переменных среды и добавление собственных переменных

Описать импорт в реестр:
  • HKCU\Environment
  • HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment (кстати, если на Т-12 импортировать, то должно работать уже при первом входе)
  • HKCU\Volatile Environment
а также использование setenv http://forum.oszone.net/showthread.p...emp#post350590

Возможно, придется добавить словарик - командная сессия, текущий сеанс, и т.д.

Остается только вопрос как изменить %USERPROFILE%, %ALLUSERSPROFILE% и т.п. Только нужно ли это вообще?


Dirk Diggler
Надо рассматривать статью в контексте автоматической установки, все-таки. Мало ли что там пользователь наворотил. Может он половину системных файлов удалил. Но мы же ему шансов не даем это проделать. А что он потом там наворотит - это проблема техподдержки :)

Petya V4sechkin 18-02-2006 07:52 407912

Vadikan
Цитата:

Описать импорт в реестр:
HKCU\Volatile Environment
Не, для Volatile это не надо (нет смысла).

Petya V4sechkin 18-02-2006 09:02 407913

Кстати, получается уже три классификации переменных :)

1) на вкладке "Свойства системы -> Переменные среды";
2) по ссылке, которую я приводил выше;
3) в Центре справки и поддержки.

Очевидно, первая является подмножеством второй. А вот третья стоит особняком. Может быть потому, что справку и поддержку делали совсем другие люди, не имевшие отношения к разработке операционной системы? :)

Так что самое главное - не запутать читателя статьи :) Может, так и написать, что существуют разные классификации?

Vadikan 19-02-2006 23:17 408427

В общем, я задействовал справку виндовс и постарался учесть все пожелания :) http://oszone.net/display.php?id=3673 Комментарии?

Dirk Diggler 20-02-2006 00:38 408452

в списке не указаны %programfiles%(которая просто упоминается в тексте) и %commonprogramfiles%.

Vadikan 20-02-2006 07:18 408488

Dirk Diggler
Да, вот о них и речь :) Почему-то они не упоминаются . Вообще, у меня не срастается классификация с об'яснением. http://tinyurl.com/9jduo

Цитата:

Системные переменные среды заданы заранее в операционной системе и доступны для всех процессов операционной системы Windows Server. Изменять эти переменные могут только пользователи с административными учетными данными. Эти переменные наиболее часто используются в сценариях входа в систему.
Понятно, их можно менять, и лежат они в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment.
Цитата:

Локальные переменные среды доступны, только когда пользователь, для которого они были созданы, вошел в систему. Локальные переменные из куста HKEY_CURRENT_USER подходят только для текущего пользователя, но определяют поведение глобальной среды операционной системы.
Из этих двух предложений я не улавливаю являются ли выделенные вещи одним и тем же.
Цитата:

В следующем списке представлены различные типы переменных в порядке убывания приоритета.
1. Встроенные системные переменные
2. Системные переменные куста HKEY_LOCAL_MACHINE
3. Локальные переменные куста HKEY_CURRENT_USER
Вроде проясняется. Видимо, локальные переменные сидят в HKCU и больше нигде. А что такое встроенные? Видимо те, что в HKLM лежат. Зачем два раза повторять? В тоже время, системные переменные менять можно, а как поменять локальную (в контексте статьи)? Даже если в HKLM зaгнать свою username, это не будет иметь эффекта. Получаетеся что локальные больше всего похожи на встроенные системные :))))))))))

%programfiles% - видимо системная, по тому принципу, раз путь переназначить можно и в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion он лежит.

amel27 20-02-2006 10:17 408526

Получается, что системные/локальные - это классификация по области видимости, а встроенные (aka расчётные)/пользовательские - по возможности напрямую создавать/изменять/удалять (в смысле без последствий :) ). Тогда USERNAME - это встроенная локальная... Возможно слишком вольно, зато логично. Хотя сочетание "Системная пользовательская" звучит несколько дико... :)

Vadikan 20-02-2006 11:00 408551

amel27
Цитата:

Получается, что системные/локальные - это классификация по области видимости <...> Тогда USERNAME - это встроенная локальная...
Да, получается так, и фактически локальные нельзя изменить, но тогда непонятно что означает
Цитата:

3. Локальные переменные куста HKEY_CURRENT_USER
Вероятно, в нашей классификации это должно быть так
Цитата:

В следующем списке представлены различные типы переменных в порядке убывания приоритета.
1. [Встроенные] локальные переменные
2. Системные переменные куста HKEY_LOCAL_MACHINE
3. Пользовательские переменные куста HKEY_CURRENT_USER
:) Поэтому я не стал это включать в статью... Это уже просто запредел. Хотя все-таки хотелось бы получить какой-то квалифицированный коментарий от МС :)

Добавил %PROGRAMFILES% и %COMMONPROGRAMFILES% в таблицу, хотя это похоже не совсем правильно. Там другие параметры реестра, и например setenv только импортирует в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment и %PROGRAMFILES% не меняет, насколько я понял.

Короче, в параграфе Изменение реестра написал так
Цитата:

Пути, возвращаемые переменными %PROGRAMFILES% и %COMMONPROGRAMFILES%, можно изменить в параметрах ProgramFilesDir и CommonFilesDir в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion или через файл ответов.
Подутомила уже эта классификация ;)

amel27 20-02-2006 11:42 408570

Цитата:

Да, получается так, и фактически локальные нельзя изменить
Почему нельзя? Некоторые можно, например TEMP.
Цитата:

Пути, возвращаемые переменными %PROGRAMFILES% и %COMMONPROGRAMFILES%, можно изменить в параметрах ProgramFilesDir и CommonFilesDir в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion или через файл ответов
Первый способ прямой, но запрещенный (для переименования каталога недостаточно), второй - правильный, но косвенный... Т.е. переменная является встроенной системной. Интересно как будет звучать этот же тезис для NUMBER_OF_PROCESSORS? ;)

Vadikan 20-02-2006 12:24 408593

amel27
TEMP - либо системаная, либо пользовательская (HKCU\Environment), но не локальная. Добро пожаловать в клуб запутавшихся :)
Цитата:

Первый способ прямой, но запрещенный (для переименования каталога недостаточно), второй - правильный, но косвенный..
Ну скорее всего, при изменении пути в этих параметрах, все последующие установки ПО будут предлагать по умолчанию новую директорию, указанную в параметре. Т.е. перенос, конечно, неполный, но и на работоспособность системы он не должен повлиять, разве что на приложения в старой директории при плохих раскладах ;)

Можно так
Цитата:

Пути, возвращаемые переменными %PROGRAMFILES% и %COMMONPROGRAMFILES%, можно изменить в параметрах ProgramFilesDir и CommonFilesDir в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion, но правильнее задавать пути через файл ответов.

amel27 20-02-2006 12:46 408602

Цитата:

TEMP - либо системаная, либо пользовательская (HKCU\Environment), но не локальная. Добро пожаловать в клуб запутавшихся
В моей классификации противоречия нет: HKCU - это "локальная"; а "пользовательская" - значит создаваемая/изменяемая пользователем для своих нужд (даже если этот пользователь Администратор). Нелегитимные способы правки я бы вообще не выносил в статью, разве только в смысле "подсмотреть значение" (как это умеет делать Руссинович), остальное - на совести читателя. :)

Petya V4sechkin 20-02-2006 13:02 408610

Vadikan
Цитата:

Пути, возвращаемые переменными %PROGRAMFILES% и %COMMONPROGRAMFILES%, можно изменить в параметрах ProgramFilesDir и CommonFilesDir в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion или через файл ответов.
Через файл ответов - можно.
После установки системы (через реестр) - не рекомендую. Когда-то проводил такой эксперимент, после этого не работает Outlook Express.

Поправка: то есть, некоторые программы привязываются к абсолютному пути, а некоторые - как раз к переменной %ProgramFiles% (что ставит эти программы в неудобное положение :)

a1ex 21-02-2006 01:04 408858

Vadikan
Цитата:

Вроде проясняется. Видимо, локальные переменные сидят в HKCU и больше нигде.
Вернулись к моему первому письму в этой ветке ;). Цитата из МС: Системные переменные среды определяют поведение глобальной среды операционной системы. Локальные переменные среды определяют поведение среды в данном экземпляре Cmd.exe. А где эти переменные сидят, это уже второй вопрос.
Цитата:

А что такое встроенные? Видимо те, что в HKLM лежат
как раз те, которые там не лежат. time, date
Цитата:

Даже если в HKLM зaгнать свою username, это не будет иметь эффекта.
если процесс будет запущен от имени системы, то системное username не будет переопредено и останется значение из HKLM, только какой в этом практический смысл ;).
Цитата:

TEMP - либо системаная, либо пользовательская (HKCU\Environment), но не локальная.
пользовательская т.к. прописана в HKCU. и локальная т.к. не имеет действия на все процессы ( если прописана в HKCU). Если прописана пользовательская, то она в конце концов переопределит системную при входе юзера. Если не прописана , то будет иметь значение системная.

Vadikan 21-02-2006 04:00 408882

a1ex
Цитата:

Вернулись к моему первому письму в этой ветке . Цитата из МС: Системные переменные среды определяют поведение глобальной среды операционной системы. Локальные переменные среды определяют поведение среды в данном экземпляре Cmd.exe.
А Пуск - Выполнить тоже является частью командной оболочки?
Цитата:

А где эти переменные сидят, это уже второй вопрос.
Но очень интересный :)
Цитата:

[Temp] - пользовательская т.к. прописана в HKCU. и локальная т.к. не имеет действия на все процессы ( если прописана в HKCU).
Т.е. пользователсьскя = локальная, так?

Petya V4sechkin
Цитата:

Через файл ответов - можно. После установки системы (через реестр) - не рекомендую. Когда-то проводил такой эксперимент, после этого не работает Outlook Express.
Да, ну я же сказал, софт может не работать :) Надо тогда просто сказать
Цитата:

Пути, возвращаемые переменными %PROGRAMFILES% и %COMMONPROGRAMFILES%, можно задать через файл ответов.
Вроде корректно - переменную мы не меняем. Так они все-таки локальные или системные? :))



amel27 21-02-2006 04:29 408890

Цитата:

Т.е. пользователсьскя = локальная, так?
Перед любой классификацией нужно сначала определиться с критериями, тогда будет сложно запутаться независимо от названий. :)

Итак, если критерий - область видимости, тогда имеем: системные, локальные сессии, локальные процесса. Программисты подтвердят, что перекрытие имен - вполне штатная ситуация.

Упоминание о "встроенных" переменных наводит на мысль, что должны быть и "не встроенные", здесь скорее всего идет речь о возможности изменять значение этих переменных, т.е. о "владельце" этих переменных - либо это система ("встроенные"), либо пользователь ("???"). Последние ИМХО вполне логично назвать "пользовательскими", хотя с HKCU это никак не связано, т.к. админ может создать свою (т.е. пользовательскую) переменную и в HKLM.

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

amel27 21-02-2006 05:43 408900

Цитата:

Цитата:

А где эти переменные сидят, это уже второй вопрос.
Но очень интересный
Конечно, можно и этот критерий поставить в основание классификации, но придется учесть что кроме HKLM и HKCU есть еще HKU\.DEFAULT (профиль учетной записи SYSTEM), а также переменные, которые вовсе не хранятся в реестре (расчетные). С учетом всех четырех вариантов называть первые две "Системными" и "Пользовательскими" ИМХО было бы нелогично.

a1ex 21-02-2006 11:23 408993

Vadikan
Цитата:

Т.е. пользователсьскя = локальная, так?
ну да, она же не расространяется на все процессы в системе

Vadikan 21-02-2006 11:41 409005

Вот-вот, если б справка в справке была четкая классификация, то не было бы проблем и в статье. А тут приходится извиваться между справкой и здравым смыслом :)

Так что там с %PROGRAMFILES%-то? К каким переменным мы их относим? Я уже хочу добить это дело.

amel27 21-02-2006 12:50 409033

Цитата:

Так что там с %PROGRAMFILES%-то? К каким переменным мы их относим?
ИМХО "системная" по всем показателям

a1ex 21-02-2006 15:58 409117

Vadikan
Цитата:

Я уже хочу добить это дело.
А может в плане автоматической установки не заострять на этом внимания ;)? Прермення себе и переменная.
amel27
Цитата:

ИМХО "системная" по всем показателям
так же как и alluserprofile, которую МС к локальным относит ... видимо потому, что она может у разных прользователей принимать разные значения.

Doc63 25-04-2007 11:17 579270

Попытался создать переменную c:\Temp (системную и поьзовательскую) с помощью setenv. Батник запускаю из CMDLINES.TXT

@echo on
:: Creating and Setting Temp folder...
md %systemdrive%\Temp
setenv -m Temp %systemdrive%\Temp
setenv -m Tmp %systemdrive%\Temp
setenv -d Temp %systemdrive%\Temp
setenv -d Tmp %systemdrive%\Temp
exit

устанавливает только пользовательскую переменную системную игнорирует.
Подскажите в чём ошибка?

barakuda 13-04-2008 14:47 780596

как мне присвоить переменной Х данные полученые из setenv.exe -v HOMEPATH :dont-know :clever-ma HOMEPATH взят к примеру

Petya V4sechkin 13-04-2008 15:28 780621

Цитата:

Цитата barakuda
как мне присвоить переменной Х данные полученые из setenv.exe -v HOMEPATH HOMEPATH взят к примеру

Не понял, зачем для этого setenv.exe?
Код:

Echo %HOMEPATH%

serg_ssa 22-07-2008 18:13 858595

Не могу корректно подправить значение %ProgramFiles% во время загрузки WinPE.
Ситуация следующая: WinPe грузится из образа, а сама Program Files находится вне образа, соотв-но на другом диске. В зависимости от количества логических дисков, буква сидюка плавает.
В общем из секции RunOnceEx запускается батник, который устанавливает нужные пути в переменную %ProgramFiles% и в
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion,ProgramFilesDir
Но система определяет, что переменная %ProgramFiles% не изменилась. (x:\Program Files)
Если же вызвать в свойствах системы "переменные среды" и просто нажать "ОК", то все начинает правильно работать. При этом в реестре никаких модификаций не происходит кроме добавления ключа "ParseAutoexec"=1 в "windows NT\Currentversion\Winlogon". (((((
setenv.exe мне не помогла.
может надо какую-то функцию через rudll32 вызвать для решения проблемы???

barakuda 25-08-2008 03:31 882953

:hi:
доброво всем времени суток,
:help:
когда выполняю SETENV -U X "D:\FOLDER_NAME\%USERNAME%\FOLDER_NAME"
то получается так X = D:\FOLDER_NAME\administrator\FOLDER_NAME,
а надо чтоб так X = D:\FOLDER_NAME\%USERNAME%\FOLDER_NAME получилось.
:help:
Пожалста подскажыте что я делаю неправильно. Мне надо получить значение со знаком процентов.
:bye:

Vadikan 25-08-2008 07:38 882980

Код:

SETENV -U X "D:\FOLDER_NAME\%%USERNAME%%\FOLDER_NAME"

barakuda 25-08-2008 21:38 883700

:sorry:
както совсем из головы вылетело.
Спасибо теперь всё работает.

Bint 20-10-2009 12:59 1247786

подскажите какие ключи в реестре нужно поменять чтобы изменить переменные среды пользователя. (те что в верхней половине окошка переменных среды).
нашел эти переменные в HKEY_CURRENT_USER\Environment , HKEY_USERS\.DEFAULT\Environment, HKEY_USERS\S-1-5-18\Environment, HKEY_USERS\S-1-5-19\Environment и т.д. (в HKEY_USERS их несколько подобных и как я понимаю на разных компах эти разделы отличаться будут...)
мне просто нужен универсальный рецепт так сказать, т.к. надо в батник прописать изменение этих ключей

Petya V4sechkin 20-10-2009 13:09 1247795

Цитата:

Цитата Bint
нашел эти переменные в HKEY_CURRENT_USER\Environment

Ну да, это для текущего пользователя.

Bint 20-10-2009 13:59 1247852

т.е. изменение ключей в HKEY_CURRENT_USER\Environment эквивалентно изменению этих переменных среды через свойства моего компьютера? а в USERS лезть не надо?

Petya V4sechkin 20-10-2009 14:00 1247854

Цитата:

Цитата Bint
а в USERS лезть не надо?

Нет.

IVa_ 04-04-2015 15:57 2491736

Переменные и константы инсталлятора
Переменные и константы инсталлятора -специальные строки, которые заменяют своим значение при создании инсталлятора (Константы) или при его запуске (переменные).Все переменные и константы имеют следующий формат %VaribleName% где Varible Name может быть любым текстом.Различие между переменными и константами в том, что значение константы устанавливается при создании инсталлятора, а значение переменной зависит от свойств системы, на которой будет производиться запуск инсталлятора.
Пример:
Код:

"%ProgramFiles%\%CompanyName%\%ProductName%" = "C:\ProgramFiles\Company\NewProduct"
Или
Код:

"%InstallPath%\myapp.exe" = "C:\ProgramFiles\Company\NewProduct\myapp.exe"
На днях стал изучать Переменные среды, что-то удалил, что-то внес, скорость работы с Microsoft значительно возросла, к тому использовать эту возможность для создания собственных инсталляторов, одно удовольствие от проделанной работы.


Время: 04:48.

Время: 04:48.
© OSzone.net 2001-