Как прописать статический маршрут? И зачем он нужен? Как прописать статический маршрут в windows с помощью утилиты командной строки route.

При разработке сайта часто приходится прописывать пути к файлам, ссылки на документы, страницы.
В книгах по компьютерным технологиям можно часто встретить употребление терминов абсолютного и относительного пути к файлам. Часто автор не разъясняет, что означает тот или иной путь. Читатель, соответственно, путается, когда автор в последствии говорит об использовании абсолютного и(или) относительного пути.
Допустим, у Вас есть сайт и Вам нужно создать гиперссылку(ссылку) на одну из страниц сайта. Здесь нужно выбрать какой использовать тип пути: относительный или абсолютный.

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

Так как большую часть своего времени я уделяю web-технологиям, то примеры буду приводить относящиеся к созданию сайтов.

Абсолютный путь

Когда ссылка представляет из себя полный URL файла или страницы, это и есть абсолютный путь . При этом в адресе должен присутствовать используемый протокол. Например, http://www.сайт — это абсолютный путь к конкретному веб-сайту. В данном случае абсолютный путь к главной странице моего блога. Где протоколом является http , а www.сайт доменом(именем).

Если указывать ссылку на католог, например http://yourdomain.ua/web/ то будет загружаться(отображаться) индексный файл. Это правило применимо в основном к статическим сайтам. Так как при использовании языка программирования можно создать внутренний роутинг. Индексный файл обычно представляет из себя файл с именем index.php, index.html, index.phtml, index.shtml . Для того что бы использовать другой индексный файл, нужно создать в нужной директории файл с именем.htaccess, и в нем прописать некоторую директиву. Изменение и создание файла.htaccess, как и роутинг с помощью языка программирования, выходит за рамки этой статьи.

В основном абсолютный путь используется, тогда, когда нужно сослаться на другой сайт. Иными словами если Вы хотите отправить посетителя на другой сайт, то нужно использовать абсолютный путь. Хотя, такой путь можно использовать и на собственном сайте. Но многие придерживаются того, что ссылки внутри сайта должны быть относительными.
Использование абсолютного пути может повлечь за собой некоторые проблемы. Например при переносе сайта с локальной машины на сервер(это в том случае, если вы использовали на локальной машине адреса в виде http://localhost/sitename.ua/…). Трудности могут возникнуть, тогда, когда появится необходимость в смене домена(имени сайта). Хотя, все эти трудности решаемы, но на них придётся потратить некоторое количество времени.
Когда есть минусы, значит должны быть и плюсы. Возьмём к примеру такую ситуацию, как кража контента с вашего сайта. На практике я уже не раз убедился в том, что текст воруют целиком, при этом не оставляя обратной ссылки на оригинал. Так вот, при использовании абсолютных путей, можно получить обратные ссылки с сайта, на котором находится сворованный контент. Но это только в том случае если у Вас внутренняя перелинковка осуществлялась с использованием абсолютных путей. Хотя это не всегда работает, но я уже не раз замечал появление ссылок с чужих сайтов, на которых был расположен мой контент.

Немного отступив от темы хочу вкратце рассказать про то что такое URL .

Каждая веб-страница или документ в сети Интернет имеет собственный уникальный адрес, который и называется URL .
URL — единообразный локатор (определитель местонахождения) ресурса. Расшифровывается URL как Uniform Resource Locator(унифицированный адрес ресурса). Можно так же встретить и такую расшифровку как Universal Resource Locator(универсальный локатор ресурса). Этот способ записи адреса стандартизирован в сети Интернет. Более общая и широкая система идентификации ресурсов URI постепенно заменяет термин URL.
URI - это символьная строка, которая идентифицирует какой-либо ресурс: документ, файл, и т.д. Конечно, здесь подразумеваются ресурсы сети Интернет.

Относительный путь

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

Путь относительно документа

Именно путь относительно документа используется чаще всего. Такие ссылки ещё называются локальными. В основном такой путь используется тогда, когда текущий и связанный документ(страница) находятся в одной директории. Если переместить документ в другую директорию, то путь(ссылку) придётся менять. Хотя можно ссылаться и на документы(страницы) из других директорий. Для этого путь прописывается от текущего документа до целевого документа(страницы). При этом путь относительно документа должен задаваться в зависимости от структуры директорий.
Возьмём к примеру простейшую структуру статического сайта.

Предположим, что каждое изображение в каталоге images нужно вставить в соответствующие страницы home.html , products.html , contact.htm l. Для того что бы вставить изображение к примеру на страницу «home.html», нужно прописать путь, где расположено изображение. Если использовать путь относительно документа, то нужно будет прописать в коде страницы следующее:

Этот код для вставки изображения на страницу — неполный. Так как он не содержит нескольких важных атрибутов, таких как ширина, высота и др. Атрибут src , здесь служит для указания пути к файлу. Здесь опущены все остальные атрибуты, так как они сейчас не столь важны. Главное сейчас, что бы Вы имели представление о том, как выглядит путь относительно документа.
При использовании путей относительно документа отсутствует часть абсолютного пути. Часть абсолютного пути, здесь усекается, как для текущего документа(страницы), так и для связанного. Здесь используется только та часть пути, которая всегда меняется.
Напомню ещё раз про то, что при использовании пути относительно документа, нужно учитывать исходное расположение файлов.

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

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

Как видно из приведённого выше кода, к пути теперь добавилось следующее: ../ . Как раз эта последовательность символов ../ и служит для перехода на одну директорию(уровень) выше в иерархии каталогов. Путь в вышеприведённом коде можно прочесть так: «Перейти на один каталог выше(назад), зайти в директорию images и взять от туда файл products.png «.
Если ../ означает переход на одну директорию(уровень) выше в иерархии каталогов, то символ / обозначает переход на один уровень ниже.
Последовательность символов ../ можно использовать в пути неоднократно. Например, если файл products.html переместить в три директории вложенные в друг друга, то нужно будет использовать следующий код:

Как видно из предыдущих примеров, использование путей относительно документа во многих случаях оправдано. Такой вид пути часто применяется в практике, и его можно применить практически в любой ситуации. Как я уже говорил выше, существует ещё путь относительно корня сайта, о котором собственно и пойдет речь ниже.

Путь относительно корня сайта

Вы наверное уже поняли что пути относительно документа используются очень часто. Но при их использовании существует одна проблема. Которая заключается в том, что при смене структуры директорий, пути придется менять.
Но такая проблема решаема при использовании путей относительно корня сайта . Где путь указывается от корневой директории до документа.
Все пути относительно корня сайта начинаются со знака / . Только здесь, в отличии от путей относительно документа этот знак используется для указания корневой директории. Потому, что он используется в начале пути.
Путь относительно корня сайта позволяет перемещать некоторые файлы, без ущерба для ссылок. Этот тип пути Вы сможете использовать только на web-сервере в интернете, или на web-сервере расположенном на локальной машине.

В качестве web-сервера на локальной машине может выступать — . Который позволит у себя на компьютере создать среду для созданию сайтов и их предварительного тестирования.

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

Например, /images/products.png обозначает, что файл products.png находится в папке images , которая расположена в корневом каталоге.

Самый простой способ определить корневой относительный путь — взять абсолютный и отбросить http:// и имя хоста.

Пример
Иногда бывает нужно, что бы информацию одной страницы использовали другие страницы сайта. Часто это делается для того что бы сократить количество повторяемого кода на каждой странице. Допустим есть файл _contact.html , который содержит информацию о телефонных номерах, e-mail и содержит изображение contact.png . (Пускай это будет небольшая таблица, которая будет располагаться на каждой странице сайта.)

Следующий код предназначен для вставки изображения «contact.png».

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

Я надеюсь, что Вы уже знаете какой тип пути использовался в вышеприведённом коде. Если нет, тогда посмотрите приведённое выше определение пути относительно документа.
Теперь, когда посетитель зайдет на такие страницы сайта как home.html , contact.ntml , он увидит прекрасно отображаемую страницу. В каждую из которых вставлен файл _contact.html , в который, в свою очередь, вставлено изображение contact.png .
Другими словами зайдя, к примеру, на страницу home.html , происходит следующее: «Выполняется код основной страницы home.html . Затем вставляется и исполняется код страницы _contact.html . Код страницы _contact.html , говорит что нужно перейти в директорию images и взять от туда изображение contact.png «.
Если опустить сам код для вставки, то все работает отлично. Но вот если запустить страницу products.html , то произойдет ошибка. Так как код будет пытаться найти директорию images и файл contact.png в директории products . Но такой директории там не существует, из за чего собственно и возникает проблема.
Становится ясным, что использовать путь относительно документа здесь нельзя.
Конечно здесь можно использовать абсолютный путь. О плюсах и минусах данного подхода я говорил выше.
В общем говоря, это одна из ситуаций, когда нужно использовать путь относительно корня сайта. При использовании пути относительно корня сайта, ссылка будет всегда начинаться с корневого каталога(корня сайта). Такой тип пути позволит использовать код для вставки, например изображения, независимо от иерархии сайта, и его директорий.
Использование пути относительно корня сайта в вышеприведённом примере, позволит избежать проблем, со вставкой изображения. Потому как независимо от того где будет использовать такой тип пути, он всегда найдет указанный в нем файл.
Путь относительно корня сайта, очень похож на путь относительно документа. Для того что бы создать путь относительно корня сайта, нужно добавить символ / в начало пути.

Теперь изображение будет корректно вставляться на любой из страниц сайта.

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

Всем привет сегодня расскажу как прописать статический маршрут в windows с помощью утилиты командной строки route и как посмотреть таблицу маршрутизации Windows. Утилита route выводит на экран и изменяет записи в локальной таблице IP-маршрутизации. Когда вам может потребоваться добавление маршрута windows, тут за примером далеко ходить не нужно, самое простое, что вам нужно направить трафик до определенной локальной сети, понятно что все маршруты должен знать шлюз по умолчанию, но не всегда это возможно выполнить по ряду причин и не правильном построении сети. Кстати если кому интересно, то я рассказывал, как делается настройка маршрутов в centos , советую посмотреть для расширения кругозора.

Добавление маршрута windows

Добавление маршрута Windows начинается с изучения синтаксиса команды отвечабщего за это, открываем командную строку от имени администратора и вводим вот такую команду:

Запущенная без параметров, команда route выводит справку.

route [-f] [-p] [команда [конечная_точка] [шлюз] ] ]

  • -f Очищает таблицу маршрутизации от всех записей, которые не являются узловыми маршрутами (маршруты с маской подсети 255.255.255.255), сетевым маршрутом замыкания на себя (маршруты с конечной точкой 127.0.0.0 и маской подсети 255.0.0.0) или маршрутом многоадресной рассылки (маршруты с конечной точкой 224.0.0.0 и маской подсети 240.0.0.0). При использовании данного параметра совместно с одной из команд (таких, как add, change или delete) таблица очищается перед выполнением команды.
  • -p При использовании данного параметра с командой add указанный маршрут добавляется в реестр и используется для инициализации таблицы IP-маршрутизации каждый раз при запуске протокола TCP/IP. По умолчанию добавленные маршруты не сохраняются при запуске протокола TCP/IP. При использовании параметра с командой print выводит на экран список постоянных маршрутов. Все другие команды игнорируют этот параметр. Постоянные маршруты хранятся в реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes команда Указывает команду, которая будет запущена на удаленной системе. В следующей таблице представлен список допустимых параметров.
  • add > Добавление маршрута
  • change > Изменение существующего маршрута
  • delete > Удаление маршрута или маршрутов
  • print > Печать маршрута или маршрутов

Конечная точка определяет конечную точку маршрута. Конечной точкой может быть сетевой IP-адрес (где разряды узла в сетевом адресе имеют значение 0), IP-адрес маршрута к узлу, или значение 0.0.0.0 для маршрута по умолчанию. mask маска_сети Указывает маску сети (также известной как маска подсети) в соответствии с точкой назначения. Маска сети может быть маской подсети соответствующей сетевому IP-адресу, например 255.255.255.255 для маршрута к узлу или 0.0.0.0. для маршрута по умолчанию. Если данный параметр пропущен, используется маска подсети 255.255.255.255. Конечная точка не может быть более точной, чем соответствующая маска подсети. Другими словами, значение разряда 1 в адресе конечной точки невозможно, если значение соответствующего разряда в маске подсети равно 0. шлюз Указывает IP-адрес пересылки или следующего перехода, по которому доступен набор адресов, определенный конечной точкой и маской подсети. Для локально подключенных маршрутов подсети, адрес шлюза - это IP-адрес, назначенный интерфейсу, который подключен к подсети. Для удаленных маршрутов, которые доступны через один или несколько маршрутизаторов, адрес шлюза - непосредственно доступный IP-адрес ближайшего маршрутизатора. metric метрика Задает целочисленную метрику стоимости маршрута (в пределах от 1 до 9999) для маршрута, которая используется при выборе в таблице маршрутизации одного из нескольких маршрутов, наиболее близко соответствующего адресу назначения пересылаемого пакета. Выбирается маршрут с наименьшей метрикой. Метрика отражает количество переходов, скорость прохождения пути, надежность пути, пропускную способность пути и средства администрирования. if интерфейс Указывает индекс интерфейса, через который доступна точка назначения. Для вывода списка интерфейсов и их соответствующих индексов используйте команду route print. Значения индексов интерфейсов могут быть как десятичные, так и шестнадцатеричные. Перед шестнадцатеричными номерами вводится 0х. В случае, когда параметр if пропущен, интерфейс определяется из адреса шлюза. /? Отображает справку в командной строке.

Большие значения в столбце metric таблицы маршрутизации - результат возможности протокола TCP/IP автоматически определять метрики маршрутов таблицы маршрутизации на основании конфигурации IP-адреса, маски подсети и стандартного шлюза для каждого интерфейса ЛВС. Автоматическое определение метрики интерфейса, включенное по умолчанию, устанавливает скорость каждого интерфейса и метрики маршрутов для каждого интерфейса так, что самый быстрый интерфейс создает маршруты с наименьшей метрикой. Чтобы удалить большие метрики, отключите автоматическое определение метрики интерфейса в дополнительных свойствах протокола TCP/IP для каждого подключения по локальной сети.

Имена могут использоваться для параметра конечная_точка, если существует соответствующая запись в файле базы данных Networks, находящемся в папке системный_корневой_каталог\System32\Drivers\Etc. В параметре шлюз можно указывать имена до тех пор, пока они разрешаются в IP-адреса с помощью стандартных способов разрешения узлов, таких как запрос службы DNS, использование локального файла Hosts, находящегося в папке системный_корневой_каталог\system32\drivers\etc, или разрешение имен NetBIOS.

Если команда - print или delete, параметр шлюз опускается и используются подстановочные знаки для указания точки назначения и шлюза. Значение конечной_точки может быть подстановочным значением, которое указывается звездочкой (*). При наличии звездочки (*) или вопросительного знака (?) в описании конечной точки, они рассматриваются как подстановки, тогда печатаются или удаляются только маршруты, соответствующие точке назначения. Звездочка соответствует любой последовательности символов, а вопросительный знак - любому одному символу. 10.*.1, 192.168.*, 127.* и *224* являются допустимыми примерами использования звездочки в качестве подстановочного символа.
При использовании недопустимой комбинации значений конечной точки и маски подсети (маски сети) выводится следующее сообщение об ошибке: «Маршрут: неверная маска подсети адреса шлюза». Ошибка появляется, когда одно или несколько значений разрядов в адресе конечной точки равно 1, а значения соответствующих разрядов маски подсети - 1. Для проверки этого состояния выразите конечную точку и маску подсети в двоичном формате. Маска подсети в двоичном формате состоит из последовательности единичных битов, представляющей часть сетевого адреса конечной точки, и последовательности нулевых битов, обозначающей часть адреса узла конечной точки. Проверьте наличие единичных битов в части адреса точки назначения, которая является адресом узла (как определено маской подсети).
Параметр -p поддерживается в команде route только в операционных системах Windows NT 4.0, Windows 2000, Windows Millennium Edition и Windows XP. Этот параметр не поддерживается командой route в системах Windows 95 и Windows 98.

Эта команда доступна, только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP).
Примеры

вывести на экран все содержимое таблицы IP-маршрутизации, введите команду:

либо команду

Чтобы вывести на экран маршруты из таблицы IP-маршрутизации, которые начинаются с 10., введите команду:

route print 10.*

Чтобы добавить маршрут по умолчанию с адресом стандартного шлюза 192.168.12.1, введите команду:

route add 0.0.0.0 mask 0.0.0.0 192.168.12.1

Чтобы добавить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1, введите команду:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1

Чтобы добавить постоянный маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1, введите команду:

route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1

Чтобы добавить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1 и метрикой стоимости 7, введите команду:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7

Чтобы добавить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1 и использованием индекса интерфейса 0х3, введите команду:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3

Узнать ID нужного вам интерфейса поможет заметка

Чтобы удалить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0, введите команду:

route delete 10.41.0.0 mask 255.255.0.0

Чтобы удалить все маршруты из таблицы IP-маршрутизации, которые начинаются с 10., введите команду.

Danser ,

SpoilerTarget">Спойлер: Константы

Константы
Главную роль в скрипте играют константы . Константы всегда заключаются в фигурные скобки { }. Инсталлятор (или деинсталлятор) присваивает константам значения, котроые определяются пользователем, либо опираясь на конфигурацию системы. Например, {win} будет воспринята компилятором как "C:\WINDOWS", если ОС установлена в эту папку.

Символ "{" рассматривается как начало константы. Если требуется ввести "{", наберите ее два раза. (You do not need to double "}" characters.)

Если за константой следует обратный слеш ("\"), инсталлятор его автоматически удалит, если константа уже оканчивается на обратный слеш. Например, если константа {const} имеет значение "C:\", а мы введем {constantname }\filename, в конечном счете получится "C:\filename", а не "C:\\filename", как должно быть по логике. Если требуется вывести именно "C:\\filename", обратный слеш придется заключить в фигурные скобки: {const}{\}\filename.

Список поддерживаемых констант.

Константы папок
{app}
Папка, куда устанавливается приложение. Она выбирается пользователем в окне Выбор папки назначения при установке.
Например: если Вы ввели {app}\MYPROG.EXE в значение параметра Source и пользователь пожелал установить Вашу программу в "C:\MYPROG", на выходе получится "C:\MYPROG\MYPROG.EXE".

{win}
Папка, где установлена Windows.
Например: ввели {win}\MYPROG.INI , папка Windows "C:\WINDOWS", на выходе "C:\WINDOWS\MYPROG.INI".

{sys}
Системная папка Windows.
Например: ввели {sys}\CTL3D32.DLL системная папка Windows "C:\WINDOWS\SYSTEM", на выходе "C:\WINDOWS\SYSTEM\CTL3D32.DLL".

На 64-разрядном Windows, по умолчанию, путь System32, возвращаемый этой константой указывает к папке, содержащий 32-разрядные системные файлы, точно так же как в 32-разрядном Windows. (Константа может быть переопределена включением 64-разрядного режима.)

{syswow64}
На 64-разрядном Windows системная папка SysWOW64, обычно "C:\WINDOWS\SysWOW64". Это каталог, в котором находятся 32-разрядные системные файлы.

Не используйте эту константу, если нет необходимости получить имя каталога, в котором находятся 32-разрядные системные файлы. Многократное использование {syswow64} в местах, где {sys} будет достаточен, может вызвать проблемы. (Для примера см. документацию флага sharedfile секции .)

{src}
Папка, в которой находится инсталлятор.
Например: ввели {src}\MYPROG.EXE, инсталлятор запущен из "S:\", на выходе "S:\MYPROG.EXE".

{sd}
Системный диск, на котором установлен Windows. Обычно это "C:". Эта константа эквивалентна переменной среды SystemDrive .

{pf}
Путь к папке Program Files. {pf} эквивалентна {pf32}, если инсталлятор не работает в 64-разрядном режиме, иначе эквивалентна {pf64}.

{pf32}
Путь к 32-разрядной системной папке Program Files, обычно "C:\Program Files" в 32-разрядном Windows и "C:\Program Files (x86)" в 64-разрядном Windows.

{pf64}
Только для 64-разрядного Windows: 64-разрядные программные файлы. Путь к 64-разрядной системной папке Program Files, обычно "C:\Program Files". Будет исключение, если предпринять попытку использования этой константы в 32-разрядном Windows.

{cf}
Общие файлы - Common Files. {cf} эквивалентна {cf32}, если инсталлятор не работает в 64-разрядном режиме, иначе эквивалентна {cf64}.

{cf32}
32-разрядные общие файлы. Путь к 32-разрядной системной папке Common Files, обычно "C:\Program Files\Common Files" в 32-разрядном Windows и "C:\Program Files (x86)\Common Files" в 64-разрядном Windows.

{cf64}
Только для 64-разрядного Windows: 64-разрядные общие файлы. Путь к 64-разрядной системной папке Common Files, обычно "C:\Program Files\Common Files". Будет исключение, если предпринять попытку использования этой константы в 32-разрядном Windows.

{tmp}
Временная папка. Это не значение переменной среды TEMP пользователя. Это папка, где создаются временные файлы инсталлятора ("C:\WINDOWS\TEMP\IS-xxxxx.tmp"). Все файлы и папки удаляются из папки Temp после завершения установки приложения. Эта константа используется в случае, если в секции указаны файлы, необходимые при инсталляции, но не нужные для дальнейшей работы приложения.

{fonts}
Папка шрифтов. Обычно именуется FONTS и находится в папке Windows.

{dao}
Папка DAO. Эквивалентна {cf}\Microsoft Shared\DAO.

{dotnet11}
32-разрядная корневая папка.NET Framework версии 1.1.

Будет исключение, если предпринять попытку использования этой константы в системе, где не установлена.NET Framework версии 1.1.

{dotnet20}
Корневая папка.NET Framework версий 2-3.5. {dotnet20} эквивалентна {dotnet2032}, если инсталлятор не работает в 64-разрядном режиме, иначе эквивалентна {dotnet2064}.

{dotnet2032}
32-разрядная корневая папка.NET Framework версий 2-3.5.

Будет исключение, если предпринять попытку использования этой константы в системе, где не установлена.NET Framework версий 2-3.5.

{dotnet2064}
Только для 64-разрядного Windows: 64-разрядная корневая папка.NET Framework версий 2-3.5.

Будет исключение, если предпринять попытку использования этой константы в системе, где не установлена.NET Framework версий 2-3.5.

{dotnet40}
Корневая папка.NET Framework версий 4 или выше. {dotnet40} эквивалентна {dotnet4032}, если инсталлятор не работает в 64-разрядном режиме, иначе эквивалентна {dotnet4064}.

{dotnet4032}
32-разрядная корневая папка.NET Framework версий 4 или выше.

Будет исключение, если предпринять попытку использования этой константы в системе, где не установлена.NET Framework версий 4 или выше.

{dotne4064}
Только для 64-разрядного Windows: 64-разрядная корневая папка.NET Framework версий 4 или выше.

Будет исключение, если предпринять попытку использования этой константы в системе, где не установлена.NET Framework версий 4 или выше.

Константы специальных папок
В Inno Setup используются и другие константы, именуемые константами специальных папок . Используются они так же, как и константы папок.

Константы "common" являются общими для всех профилей пользователей .

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

Как уже говорилось, константы специальных папок применимы ко всем версиям Windows, поддерживающих Inno Setup.

* = константа "common" равна константе "user", если пользователь, устанавливающий приложение, является администратором или PrivilegesRequired=lowest.

{group}
Путь к группе меню Пуск, который пользователь может изменить на странице Выберите папку в меню «Пуск» . Эта папка всегда создается для всех профилей пользователей , если только пользователь, устанавливающий приложение, не имеет прав администратора, иначе путь задается только для профиля текущего пользователя.

{localappdata}
Путь к локальной папке приложения (не Roaming).

{sendto}
Путь к папке Send To пользователя (общей Send To папки нет).

{userappdata} & {commonappdata}
Путь к папке с данными приложения (Application Data).

{usercf}
Путь к папке Common Files текущего пользователя. Константа поддерживается только в Windows 7 и более поздних версиях. При использовании в предыдущих версиях Windows значение константы будет заменено на {localappdata}\Programs\Common.

{userdesktop} & {commondesktop} *
Путь к папке рабочего стола.

{userdocs} & {commondocs}
Путь к папке Мои документы.

{userfavorites} & {commonfavorites} *
Путь к папке Избранное.

{userpf}
Путь к папке Program Files текущего пользователя. Константа поддерживается только в Windows 7 и более поздних версиях. При использовании в предыдущих версиях Windows значение константы будет заменено на {localappdata}\Programs.

{userprograms} & {commonprograms} *
Путь к папке Программы в меню Пуск.

{userstartmenu} & {commonstartmenu} *
Путь к "корню" меню Пуск.

{userstartup} & {commonstartup} *

{usertemplates} & {commontemplates} *
Путь к папке шаблонов.

Прочие константы
{\}
Обратный слеш. Прочитайте в начале этой страницы о правилах использования {\} и \.

{%NAME |DefaultValue }
Вставляет значение переменной среды.

  • NAME - имя переменной среды
  • DefaultValue - определяет текст, который будет вставлен в случае, если константа не существует
  • Для вставки запятой, вертикальной черты ("|"), или закрывающей фигурной скобки ("}") запишите нужный символ в виде "%-код символа.". Замените символ символом "%" и его двухразрядным шестнадцатеричным кодом. Запятая - "%2c", вертикальная черта - "%7c", и закрывающая фигурная скобка - "%7d". Если Вы хотите включить символ "%", используйте "%25".
  • NAME и DefaultValue
Например:
{%COMSPEC}
{%PROMPT|$P$G}
{cmd}
Полный путь к стандартному системному интерпретатору. Это обычно Windows\System32\cmd.exe . При этом переменная среды COMSPEC не используется.

{computername}
Имя компьютера, на котором запущен инсталлятор или деинсталлятор (результат функции GetComputerName ).

{drive:Path }
Возвращает букву диска и двоеточие из указанного пути (например, "C:"). В случае установки через сеть возвращает имя сервера и имя общего документа (например, "\\SERVER\SHARE").

  • Path - определяет путь.
  • Path
Примеры:
{drive:{src}}
{drive:c:\path\file}
{drive:\\server\share\path\file}
{groupname}
Имя папки, которую пользователь выбрал на странице Выберите папку в меню «Пуск» . В отличие от константы {group} эта константа равна имени папки «Пуск» , а не полному пути к ней.

{hwnd}
(Специального назначения) Дескриптор фонового окна инсталлятора.

{wizardhwnd}
(Специального назначения) Дескриптор окна мастера инсталлятора. Равен "0", если на момент обращения окно не существует.

{ini:Filename ,Section ,Key |DefaultValue }
Берет значение из.INI файла.

  • Filename - имя ini-файла, из которого производится чтение
  • Section - имя секции
  • Key - имя ключа
  • DefaultValue - значение, возвращаемое, если параметр не существует
  • Для вставки запятой, "|", или "}" запишите нужный символ в виде"%-код символа.". Например, запятая - это "%2c", вертикальная черта - "%7c", "}" - "%7d". "%" = "%25".
  • Filename, Section, и Key могут содержать константы. Обратите внимание, что описанным выше способом закрывающая фигурная скобка задается только в случае, когда она используется сама по себе. Если же она обозначает константу, подобные изощрения не нужны.
Например:
{ini:{win}\MyProg.ini,Settings,Path|{pf}\My Program}
{language}
Встроенное имя выбранного языка. Для справки обратитесь к секции .

{cm:MessageName }
{cm:MessageName ,Arguments }

Возвращает стандартное сообщение на заданном языке.

  • MessageName - имя стандартного сообщения, из которого производится считывание. Для справки обратитесь к секции .
  • Arguments - аргументы сообщения, разделенные запятыми
  • Для вставки запятой, "|", или "}" запишите нужный символ в виде"%-код символа.". Например, запятая - это "%2c", вертикальная черта - "%7c", "}" - "%7d". "%" = "%25".
  • Каждый аргумент в Arguments может содержать константы. Обратите внимание, что описанным выше способом закрывающая фигурная скобка задается только в случае, когда она используется сама по себе. Если же она обозначает константу, подобные изощрения не нужны.
Например:
{cm:LaunchProgram,Inno Setup}
Пример выдает "Launch Inno Setup", если выбран английский язык.

{reg:HKxx \SubkeyName ,ValueName |DefaultValue }
Возвращает значение реестра.

  • HKxx - определяет корневой ключ. Для справки обратитесь к секции
  • SubkeyName - имя раздела
  • ValueName - имя параметра. Пустой параметр = "По умолчанию".
  • DefaultValue - значение, возвращаемое, если параметр не существует или не строкового типа (REG_SZ или REG_EXPAND_SZ)
  • Для вставки запятой, "|", или "}" запишите нужный символ в виде"%-код символа.". Например, запятая - это "%2c", вертикальная черта - "%7c", "}" - "%7d". "%" = "%25".
  • SubkeyName, ValueName, и DefaultValue могут содержать константы. Обратите внимание, что описанным выше способом закрывающая фигурная скобка задается только в случае, когда она используется сама по себе. Если же она обозначает константу, подобные изощрения не нужны.
Например:
{reg:HKLM\Software\My Program,Path|{pf}\My Program}
{param:ParamName |DefaultValue }
Возвращает параметры командной строки.
  • ParamName - имя параметра
  • DefaultValue - значение, возвращаемое, если запрашиваемое значение не существует или не может быть определено.
  • Для вставки запятой, "|", или "}" запишите нужный символ в виде"%-код символа.". Например, запятая - это "%2c", вертикальная черта - "%7c", "}" - "%7d". "%" = "%25".
  • ParamName и DefaultValue могут содержать константы. Обратите внимание, что описанным выше способом закрывающая фигурная скобка задается только в случае, когда она используется сама по себе. Если же она обозначает константу, подобные изощрения не нужны.
Например:
{paramath|{pf}\My Program}
Возвращает c:\My Program, если в командной строке введен /Path="c:\My Program".

{srcexe}
Полный путь инсталлятора, например "C:\SETUP.EXE".

{uninstallexe}
Полный путь деинсталлятора, например "C:\Program Files\My Program\unins000.exe". Эта константа чаще всего используется в секции для задания иконки деинсталлятора. Действует только если директиве Uninstallable секции присвоено значение yes (по умолчанию).

{sysuserinfoname}
{sysuserinfoorg}

Имя и организация, соответственно, к которым зарегистрирован Windows. Эта информация берется из реестра.

{userinfoname}
{userinfoorg}
{userinfoserial}

Имя, организация и серийный номер, которые пользователь указал на странице Информация о пользователе (эту страницу можно активировать директивой UserInfoPage). Обычно эти константы используются в секциях и , чтобы сохранить их значения для дальнейшего использования.

{username}
Имя пользователя, запустившего инсталлятор или деинсталлятор (результат функции GetUserName ).

{log}
Имя файла системного журнала, или пустая строка, если журналирование не включено.

Указать путь к папке. Главный вопрос нашей статьи на которого найдут ответа уважаемые ггости - это вопрос: Как указать путь к папке на виндовс и в начале статьи мы хотим рассказать именно про это. Для того что бы узнать адрес папки, предлагаем уважаемому читателю включить свой компьютер и войти в Мой Компьютер. Потом найти эту папку на которую хотите указать путь и взглянуть на верхнюю часть окна. На верхней части окна есть пункт под названием адрес и рядом с ним ячейка похожая на ту ячейку в нашем браузере к которому пишем адреса сайтов. На этой ячейке и будет адрес вашей папки. Скопируйте её и вставьте на документе в которым хотите указать адрес папки.

ZIP папка. Многие люди скачивают с различных сайтов, файлы архивированные в формате ZIP и затрудняются их открыть. Мы хотим на протяжении этой статьи рассказать таким людям и об открытии такого формата архивов и соответственно продолжая читать, уважаемый гость узнает о том как открыть ZIP папку. Для того что бы открыть архивную папку ZIP, вам надо с начало скачать и установить программу ZIP архиватор WinRAR. Для скачки архиватора есть два способа: Можете поискать в Гуглу или в Яндексе данный архиватор либо установить ZIP архиватор с диска виндовс. На сегодняшний день на всех дисках в формате DVD с виндовс, есть дополнительные программы и среди дополнительных программ виндовса обязательно должно быть ZIP архиватор. После установки архиватора, просто кликните на архивный файл и она откроется.

Удалить папку с диска C. Для тех кто не знает как удалить папку с диска C, объясняем: Сразу нужно сказать что в дике C удалить папки с названиями: Documents and settings, Program files и Windows не возможно. Но возможно удаления некоторых папок внутри этих папок которые Не относятся к системным программам или файлам. Если какой то файл который не имеет не какой принадлежности к системе, не удаляется - это может означать что в данной папке содержится вирус и не допускает к удалению.

Папка Рабочий стол. Пред последняя тема нашей статьи посвящается вопросу: Как найти папку рабочий стол? Для того что бы найти папку рабочий стол, надо зайти в Мой Компьютер. Потом заходим в диск С и переходим в папку Documents and settings. На Documents and settings есть папка All users внутри которой и имеется папка Рабочий стол.

Папка Windows 8. К сожалению наша статья близка концу и в конце нашей статьи мы хотим дать уважаемому читателю информацию о том, как удалить папку Windows 8. К сожалению папку Windows 8 удалить нельзя по тому что она обеспечивает работу виндовса. Но если кто то хочет удалить папку виндовс по тому что хочет установить другой, уверяем что по ходу установки нового виндовса папка Windows 8 сама стирается и пытаться удалить его до установки нового виндовса - бессмысленно.

Надеемся что это статья вам помогло решить проблемы и желаем вам удачи в личной жизни!

В данной статье мы рассмотрим, что такое статический маршрут и зачем его вообще прописывать. Мы будем использовать так называемые «руты » или другими словами будем прописывать маршруты с помощью команды route add в командной строке Windows.

Прежде чем приступать к практике хотелось бы поговорить немного о теории, что бы Вы понимали, что Вы делаете, и в каких случаях это Вам может пригодиться.

Для начала пару определений:

Статическая маршрутизация - вид маршрутизации, при котором маршруты указываются в явном виде при конфигурации маршрутизатора. Вся маршрутизация при этом происходит без участия каких-либо протоколов маршрутизации.

Статический маршрут - представляет собой заданный администратором маршрут, который заставляет пакеты, перемещающиеся между источником и адресатом, отправляться по указанному пути. Другими словами - это явно указанный путь, по которому должен пройти пакет из пункта А в пункт Б.

В этой статье мы с Вами говорим, о статическом маршруте на обыкновенном компьютере с операционной системой Windows. Для чего же нам нужно уметь прописывать статические маршруты? спросите Вы, сейчас попробую объяснить, где это знание Вам может пригодиться.

Сейчас очень распространено для безопасности использовать «Виртуальные частные сети » (VPN). VPN используют как в организациях, для организации своей защищенной сети, так и провайдеры, для предоставления доступа, к глобальной сети Интернет, простым пользователям. Но, так или иначе, это иногда вызывает небольшие неудобства, как в организациях, так и у обычных пользователей.

Например, у Вас дома два компьютера, один из которых имеет доступ в Интернет по средствам VPN, также он соединен со вторым компьютером локальной сетью, и каждый раз, когда он подключается к Интернету, то связь между двумя компьютерами теряется, так как первый компьютер (который подключился к VPN ) уже находится в другой сети, и поэтому недоступен со второго компа.

Это можно исправить как раз с помощью статического маршрута. Или другой случай, пригодится сисадминам, (пример из жизни ) есть организация, у которой имеются небольшие удаленные офисы, связь с которыми идет по средствам OpenVPN. Был случай, когда мне пришлось узнать внешние ip адреса у этих удаленных офисов, я подключался к компьютеру по VPN сети и соответственно не мог узнать внешний ip, так как он мне бы показал внешний ip нашего VPN соединения. В итоге я просто на всего прописал один статический маршрут на удаленном компьютере, с помощью которого и попал на нужный мне сайт (который показывал внешний ip ) и все. Есть, конечно, и другой вариант, съездить туда и узнать ip без подключения к VPN сети, но Вы сами понимаете, что на это нет времени и попросту неохота. Теперь Вы немного представляете, где и для чего Вам может пригодиться знание того, как прописываются статические маршруты.

Примеры использования утилиты route

Хватит теории, переходим к практике. Сейчас мы с Вами пропишем маршрут, который разрешит нам получить доступ к локальной сети при включенном VPN соединении, пригодится обычным пользователям, у которых дома более одного компьютера, а в Интернет выходят по средствам VPN.

Имеем локальную сеть : 192.168.1.0/24

Локальный IP первого компьютера (пусть он будет компьютер - A ) – 192.168.1.2 (на котором присутствует VPN соединение)

Локальный IP второго компьютера (а этот компьютер - B ) – 192.168.1.3

IP адрес шлюза т.е. модема – 192.168.1.1

Нам нужно прописать маршрут на компьютере A, чтобы он смог видеть компьютер B при включенном VPN соединении. Делается это следующем образом: запускаем командную строку Пуск->Выполнить->cmd и набираем следующую команду:

route –p add 192.168.1.0 mask 255.255.255.0 192.168.1.1

  • route – сама программа, которая работает с таблицей маршрутизации;
  • -p – ключ, который говорит, что маршрут будет постоянный, так как (Важное замечание! ) без этого ключа все маршруты, которые Вы добавите удалятся после перезагрузке, поэтому если Вы хотите использовать маршрут всегда, то пропишите этот ключ, если только один раз, то его можно не писать;
  • add – команда, добавляющая запись в таблицу маршрутизации;
  • 192.168.1.0 – сеть, с которой Вы хотите иметь связь;
  • mask 255.255.255.0 – маска подсети;
  • 192.168.1.1 – адрес шлюза, обычно это адрес модема.

Добавив всего один маршрут, Вы получаете доступ к своей сети при подключенном Интернете, т.е. VPN соединении.

Вот еще один небольшой пример, у Вас дома подключение к Интернету через модем ADSL и Вам иногда (ну или постоянно ) требуется подключение к VPN сети, и соответственно выхода в Интернет через свой канал у Вас уже не будет. Но с помощью статического маршрута Вы можете получить доступ к определенным сайтам (узнав предварительно их ip адреса, с помощью команды ping в командной строке, например ping yandex.ru ), к которым Вам бы хотелось иметь постоянный доступ (и при подключенном VPN соединении и неподключенном ). Например, сайт имеет ip адрес 172.18.24.13, а шлюз (маршрутизатор, модем ) имеет IP адрес 192.168.0.1, Вам необходимо прописать следующее:

route –p add 172.18.24.13 mask 255.255.255.255 192.168.0.1

Синтаксис и основные ключи утилиты route

Теперь поговорим поподробней о команде route.

Общий синтаксис:

route [-f] [-p]

Основные ключи:

  • -f - удаляет из таблицы маршрутизации все маршруты;
  • -p – сохраняет маршрут на постоянную основу;
  • add – добавляет новый маршрут;
  • change - меняет текущий маршрут в таблице маршрутизации;
  • delete - удаляет маршрут из таблицы маршрутизации;
  • print - отображает содержимое таблицы маршрутизации;
  • destination - при добавлении или изменении маршрута этот параметр используется для указания идентификатора сети назначения;
  • mask - при добавлении или изменении маршрута этот параметр используется для указания маски подсети для сети назначения;
  • gateway - при добавлении или изменении нового маршрута этот параметр используется для указания шлюза (маршрутизатора или модема );
  • metric - используется для указания целого числа в диапазоне от 1 до 9999, являющегося метрикой стоимости для маршрута. Если для определенной сети назначения существует несколько возможных маршрутов, будет использован маршрут с наименьшим значением метрики;
  • if - используется для указания номера индекса интерфейса, который подключен к сети назначения.

Для того чтобы просто посмотреть таблицу маршрутизации у себя на компьютере введите в командную строку следующие:

route print

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