Приветствую всех.
Никто не подскажет: - раньше (даа-аавно, уже, помню...) в разделе "крутые советы" была статья: - Как создать собственную инсталяцию ТС. Как-то раньше не нужно было, но помнил про оную. Теперь, вот, понадобилось, заглянул и... НЕТ ЕЕ ТАМ БОЛЬШЕ!? Никто не подскажет, где можно теперь найти эту статью/инфу?
[mod="Avada"]Рассматривамый далее материал (ccылка) изрядно устарел, порядок работы инсталлятора TC с тех пор неколько раз менялся. В "Секретах и советах" оставлять это не имеет смысла, переносится в "Общие вопросы".[/mod]
Собственная инсталяция
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
используй Inno Setup
установи прогу Inno Setup создай папку C:\temp\
скопируй туда содержимое папки total и wincmd.ini из корня windows
создай там же текстовый файл total_Comander_setup.iss
запускай прогу выбирай --открыть существующий файл скрипта -> босьше файлов-- укажи C:\temp\total_Comander_setup.iss
компилируй (в проге всё есть) готово! после запуска запустится установка!!!!!!
содержимое файла
total_Comander_setup.iss
копировать отсюда и до конца.
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
AppName=Total Commander
AppVerName=Total Commander
DefaultDirName={pf}\Total Commander
DefaultGroupName=Total Commander
AllowNoIcons=yes
Compression=lzma
SolidCompression=yes
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\temp\Totalcmd.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\temp\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
Source: "C:\temp\Wincmd.ini"; DestDir: "{win}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\Total Commander"; Filename: "{app}\Totalcmd.exe"
Name: "{group}\{cm:UninstallProgram,Total Commander}"; Filename: "{uninstallexe}"
Name: "{userdesktop}\Total Commander"; Filename: "{app}\Totalcmd.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Total Commander"; Filename: "{app}\Totalcmd.exe"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\Totalcmd.exe"; Description: "{cm:LaunchProgram,Total Commander}"; Flags: nowait postinstall skipifsilent
скопируй туда содержимое папки total и wincmd.ini из корня windows
создай там же текстовый файл total_Comander_setup.iss
запускай прогу выбирай --открыть существующий файл скрипта -> босьше файлов-- укажи C:\temp\total_Comander_setup.iss
компилируй (в проге всё есть) готово! после запуска запустится установка!!!!!!
содержимое файла
total_Comander_setup.iss
копировать отсюда и до конца.
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
AppName=Total Commander
AppVerName=Total Commander
DefaultDirName={pf}\Total Commander
DefaultGroupName=Total Commander
AllowNoIcons=yes
Compression=lzma
SolidCompression=yes
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\temp\Totalcmd.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\temp\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
Source: "C:\temp\Wincmd.ini"; DestDir: "{win}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\Total Commander"; Filename: "{app}\Totalcmd.exe"
Name: "{group}\{cm:UninstallProgram,Total Commander}"; Filename: "{uninstallexe}"
Name: "{userdesktop}\Total Commander"; Filename: "{app}\Totalcmd.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Total Commander"; Filename: "{app}\Totalcmd.exe"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\Totalcmd.exe"; Description: "{cm:LaunchProgram,Total Commander}"; Flags: nowait postinstall skipifsilent
Toni
а вот и сама статья
Создание собственной инсталяции
Данная статья описывает то, каким образом можно создать свой собственный дистрибутив программы, содержащий все необходимые вам навороты, чтобы в будущем упростить себе жизнь в случае необходимости переустановки Total Commander.
Для выполнения данной операции вам потребуются, помимо прочего, архиватор WinRAR и любой архиватор, позволяющий создавать cab-архивы со вложенными папками внутри (например, PowerArchiver или Cabinet Manager. Входящий в состав Windows XP iexpress.exe тут, к сожалению, не подойдёт, поскольку он умеет запаковывать лишь содержимое одной папки и не видит подпапок).
Устанавливаем Total Commander
Последнюю версию этой замечательной программы можно всегда найти на сайте “производителя” — Кристиана Гислера из Швейцарии (http://www.ghisler.com). Установка программы “по умолчанию” уже позволяет воспользоваться большинством предложенных возможностей. Здесь надо отдать должное автору, создавшему своё произведение так, чтобы оно было максимально удобно в использовании.
Итак, для установки программы нужно всего лишь запустить исполнимый файл программы и ответить на простейшие вопросы в нескольких диалоговых окнах. Поскольку текущая цель установки программы — создать свою собственную инсталляцию, настроенную по своему вкусу, то в целях упрощения работы при начальной установке нужно задать расположение ini-файлов программы в папке самой программы (обычно это C:\wincmd\). Все остальные настройки здесь — на ваш вкус. Лично я обычно никогда не включаю файлы других языков, кроме английского — хотя это и не требует много места, этими файлами я всё равно никогда не пользуюсь. Впрочем, здесь вы можете поступить так, как сами считаете нужным.
После установки программы вы можете настроить её по своему вкусу — например, добавить архиваторные плагины, создать цветовые настройки, добавить или удалить кнопки на панели инструментов, установить и настроить InfranView, включить файлы поддержки русского языка — в общем, создать из программы свою собственную “рабочую среду”. Для этого я рекомендую вам посетить сайт http://wincmd.ru — русскоязычный сайт по TotalCommander, довольно часто обновляющийся и содержащий кроме ссылок на саму программу также множество аксессуаров — новейшие плагины, форум, советы и прочее. Этот сайт я настоятельно рекомендую вам добавить в “Избранное”, — а лучше — подписаться на рассылку этого сайта и всегда быть в курсе происходящего за счёт новостей. Если вам лень разбираться в том, что именно вам нужно, а что нет, вы можете посетить сайт http://totalcmd.nm.ru, где рассказывается как установить Total Commander со всеми наворотами и без лишнего шума, а также можно скачать все плагины, все утилиты, все архиваторы и т.д. одним файлом. Главная цель для нас сейчас — создать для себя полностью настроенную и максимально удобную программу.
Я рекомендую вам установить InfranView или другую программу, интегрируемую в качестве просмотрщика картинок в Total Commander непосредственно в папку программы, создав там для неё дополнительную подпапку (например, c:\wincmd\infranview\). Суть в том, чтобы все программы, которыми вы пользуетесь только как наворотами к Total Commander, установить непосредственно в дерево папок Total Commanderа.
Готовим собственную инсталляцию
Теперь перейдём ко второму этапу — созданию собственной инсталляции программы, чтобы в будущем можно было устанавливать её “со всеми наворотами” одним кликом мыши.
Во-первых, откройте файл wincmd.ini, содержащий настройки программы, и внимательно отредактируйте его. Пути ко всем плагинам, работающим с Total Commander можно сделать относительными — относительно исполнимого файла программы. То есть, к примеру, если плагины у меня лежат в папке c:\wincmd\plugins, а сама программа находится в c:\wincmd\, то я могу вместо полного пути плагина (c:\wincmd\plugins\...) писать относительный путь (plugins\...). Это удобно, поскольку позволяет сохранить структуру конфигурации при установке программы по другому пути. Это относится к архиваторным плагинам (секция [packerplugins]), плагинам файловой системы (секция [FileSystemPlugins]) и плагинам встроенной программы просмотра (секция [ListerPlugins]). К сожалению, такой фокус не пройдёт с путём к программе InfranView. Его придётся оставить абсолютным. Ещё — если вы работаете под Windows NT/2K/XP, и среди каталогов “быстрого вызова” у вас есть папки, находящиеся в профиле пользователя (например, “Мои документы”, “Temp” или “Рабочий стол”), то в секции [DirMenu] нужно заменить абсолютные пути на переменные окружения (т.е., к примеру, вместо “C:\Documents and Settings\Alexey\My Documents” нужно написать “%UserProfile%\My Documents”. Полный список всех установленных переменных окружения и соответствующие им значения вы можете узнать при помощи команды “set” без параметров, набранной в коммандной строке Windows. Кроме того, из файла можно удалить все ненужные строки, носящие временный характер (например, историю “путешествий” по папкам, историю командной строки, историю поисковых запросов и прочее). Суть всех этих изменений — максимально “оторвать” файл настроек Total Commandera от физического расположения программы, оставив его при этом полностью работоспособным. Это позволит в будущем, при установке программы в другую папку, вносить минимум правки в файл настройки, или не трогать его совсем.
Во-вторых, откройте файл Tcuninst.wul, находящийся в папке с программой, и отредактируйте его. Этот файл содержит пути ко всем файлам, которые необходимо удалить при удалении программы. Заметьте, что все пути в этом файле являются относительными, либо выражены при помощи переменных окружения. Вам нужно дописать в этот файл по строчке для каждого нового файла, добавленного в папку Total Commander при установке “наворотов” в папку программы. Также, если вы желаете удалить какие-либо файлы вне папки Total Commander-а (к примеру, если вы создали ярлык на рабочем столе к программе TweakTC, и хотите удалить его при удалении TotalCommander-а), то нужно прописать пути к этим файлам, используя переменные окружения (в последнем примере это может быть “$desktop$\Тонкая настройка Total Commander.lnk” — обратите внимание на знаки $ вокруг слова desktop).
В-третьих, создайте где-нибудь временную папку для складывания дистрибутива — например, c:\temp\totcmd\cab. В эту папку скопируйте полностью содержимое папки программы. Затем удалите из этой папки файл справки (обычно totalcmd.hlp), файл с описанием клавиатурных сокращений (keyboard.txt) и файл register.wri. После чего создайте ещё одну папку, и распакуйте в неё исходный дистрибутив TotalCommander. Для этого просто войдите в исполнимый файл дистрибутива, как в архив (нажмите на нём Ctrl+PageDown), затем выделите всё, что в нём содержится, и просто перенесите (распакуйте) в нужное место. Далее. В дистрибутиве войдите в архив Install.cab, и скопируйте из него папку Windows в нашу временную папку с нашим (не оригинальным) дистрибутивом.
Теперь вам нужно выделить всё содержимое подготовленной папки и сжать её в один cab-архив (для этого потребуется PowerArchiver или Cabinet Manager). Имя архива должно быть install.cab. Надеюсь, вы не забыли упаковать в архив также ключевой файл wincmd.key?
Затем подготовьте ещё одну папку, в которую поместите вышеупомянутые файлы totalcmd.hlp, keyboard.txt и register.wri. Будет весьма неплохо, если вы найдёте русские переводы этих файлов и скопируете именно их. Затем запакуйте все эти файлы в архив installr.cab.
Далее. Скопируйте только что созданные файлы install.cab и installr.cab в папку с распакованным оригинальным дистрибутивом программы (файл install.cab нужно будет записать поверх имеющегося).
Структура дистрибутива следующая: общее “мясо” программы лежит в файле install.cab, а то, что относится к конкретному языку — в файлах installe.cab (английский) и installd.cab (немецкий). Мы только что перезаписали основной архив, а также добавили архив с русскими ресурсами - installr.cab. Кстати, если вам не нужен файл с немецкими ресурсами - installd.cab, то его можно удалить. Теперь осталось заставить программу-инсталлятор увидеть то, что мы ей предлагаем! Открываем в блокноте файл install.inf и редактируем его. Я приведу ниже лишь изменённые секции, которые я сделал для своей инсталляции:
[Languages]
Count=2
Default=2
1=English
2=Русский (Russian),r
[LangName]
langdir=language
0=wcmd_eng
r=wcmd_rus
Немного ниже я удалил секцию [Installd] со всем её содержимым, и прописал вместо неё следующую секцию:
[Installr]
1=installr.cab,c
2=install.cab,c
(если вам нужны немецкие ресурсы, вы можете не удалять секцию installd, а просто дописать русскую секцию, или не прописывать ничего)
Далее. Изменения в секции DeskTop. Здесь вы можете прописать дополнительные иконки. Например, иконку для TweakTC:
[Desktop]
...
2=tweak\tweaktc.exe","Тонкая настройка Total Commander.lnk"
Наконец, в секции [ini] добавляем русскую секцию:
[inir]
1=wincmd.ini,configuration,languageini,wcmd_rus.lng
2=wincmd.ini,configuration,Mainmenu,wcmd_rus.mnu
Также, если нужно, удаляем все остальные секции, кроме [ini]. Не забудьте сохранить изменения в отредактированном файле.
Последние штрихи...
Созданный дистрибутив Total Commander уже полностью работоспособен. Вы можете сами убедиться в этом, запустив файл install.exe. Однако для полного счастья вы можете запаковать полученный дистрибутив WinRaR-ом так, чтобы получился самораспаковывающийся архив — чтобы при запуске он “молча” распаковывался во временную папку и запускал там файл install.exe. Ещё можно назначить этому архиву оригинальную иконку от Total Commander (её можно вытащить любым редактором ресурсов, или, например, вытащить с данной статьи).
Что в итоге получилось? Установив программу мы получаем полностью работоспособный, русифицированный, и максимально навороченный Total Commander со всеми приладами! Ну разве не прелесть?!
а вот и сама статья
Создание собственной инсталяции
Данная статья описывает то, каким образом можно создать свой собственный дистрибутив программы, содержащий все необходимые вам навороты, чтобы в будущем упростить себе жизнь в случае необходимости переустановки Total Commander.
Для выполнения данной операции вам потребуются, помимо прочего, архиватор WinRAR и любой архиватор, позволяющий создавать cab-архивы со вложенными папками внутри (например, PowerArchiver или Cabinet Manager. Входящий в состав Windows XP iexpress.exe тут, к сожалению, не подойдёт, поскольку он умеет запаковывать лишь содержимое одной папки и не видит подпапок).
Устанавливаем Total Commander
Последнюю версию этой замечательной программы можно всегда найти на сайте “производителя” — Кристиана Гислера из Швейцарии (http://www.ghisler.com). Установка программы “по умолчанию” уже позволяет воспользоваться большинством предложенных возможностей. Здесь надо отдать должное автору, создавшему своё произведение так, чтобы оно было максимально удобно в использовании.
Итак, для установки программы нужно всего лишь запустить исполнимый файл программы и ответить на простейшие вопросы в нескольких диалоговых окнах. Поскольку текущая цель установки программы — создать свою собственную инсталляцию, настроенную по своему вкусу, то в целях упрощения работы при начальной установке нужно задать расположение ini-файлов программы в папке самой программы (обычно это C:\wincmd\). Все остальные настройки здесь — на ваш вкус. Лично я обычно никогда не включаю файлы других языков, кроме английского — хотя это и не требует много места, этими файлами я всё равно никогда не пользуюсь. Впрочем, здесь вы можете поступить так, как сами считаете нужным.
После установки программы вы можете настроить её по своему вкусу — например, добавить архиваторные плагины, создать цветовые настройки, добавить или удалить кнопки на панели инструментов, установить и настроить InfranView, включить файлы поддержки русского языка — в общем, создать из программы свою собственную “рабочую среду”. Для этого я рекомендую вам посетить сайт http://wincmd.ru — русскоязычный сайт по TotalCommander, довольно часто обновляющийся и содержащий кроме ссылок на саму программу также множество аксессуаров — новейшие плагины, форум, советы и прочее. Этот сайт я настоятельно рекомендую вам добавить в “Избранное”, — а лучше — подписаться на рассылку этого сайта и всегда быть в курсе происходящего за счёт новостей. Если вам лень разбираться в том, что именно вам нужно, а что нет, вы можете посетить сайт http://totalcmd.nm.ru, где рассказывается как установить Total Commander со всеми наворотами и без лишнего шума, а также можно скачать все плагины, все утилиты, все архиваторы и т.д. одним файлом. Главная цель для нас сейчас — создать для себя полностью настроенную и максимально удобную программу.
Я рекомендую вам установить InfranView или другую программу, интегрируемую в качестве просмотрщика картинок в Total Commander непосредственно в папку программы, создав там для неё дополнительную подпапку (например, c:\wincmd\infranview\). Суть в том, чтобы все программы, которыми вы пользуетесь только как наворотами к Total Commander, установить непосредственно в дерево папок Total Commanderа.
Готовим собственную инсталляцию
Теперь перейдём ко второму этапу — созданию собственной инсталляции программы, чтобы в будущем можно было устанавливать её “со всеми наворотами” одним кликом мыши.
Во-первых, откройте файл wincmd.ini, содержащий настройки программы, и внимательно отредактируйте его. Пути ко всем плагинам, работающим с Total Commander можно сделать относительными — относительно исполнимого файла программы. То есть, к примеру, если плагины у меня лежат в папке c:\wincmd\plugins, а сама программа находится в c:\wincmd\, то я могу вместо полного пути плагина (c:\wincmd\plugins\...) писать относительный путь (plugins\...). Это удобно, поскольку позволяет сохранить структуру конфигурации при установке программы по другому пути. Это относится к архиваторным плагинам (секция [packerplugins]), плагинам файловой системы (секция [FileSystemPlugins]) и плагинам встроенной программы просмотра (секция [ListerPlugins]). К сожалению, такой фокус не пройдёт с путём к программе InfranView. Его придётся оставить абсолютным. Ещё — если вы работаете под Windows NT/2K/XP, и среди каталогов “быстрого вызова” у вас есть папки, находящиеся в профиле пользователя (например, “Мои документы”, “Temp” или “Рабочий стол”), то в секции [DirMenu] нужно заменить абсолютные пути на переменные окружения (т.е., к примеру, вместо “C:\Documents and Settings\Alexey\My Documents” нужно написать “%UserProfile%\My Documents”. Полный список всех установленных переменных окружения и соответствующие им значения вы можете узнать при помощи команды “set” без параметров, набранной в коммандной строке Windows. Кроме того, из файла можно удалить все ненужные строки, носящие временный характер (например, историю “путешествий” по папкам, историю командной строки, историю поисковых запросов и прочее). Суть всех этих изменений — максимально “оторвать” файл настроек Total Commandera от физического расположения программы, оставив его при этом полностью работоспособным. Это позволит в будущем, при установке программы в другую папку, вносить минимум правки в файл настройки, или не трогать его совсем.
Во-вторых, откройте файл Tcuninst.wul, находящийся в папке с программой, и отредактируйте его. Этот файл содержит пути ко всем файлам, которые необходимо удалить при удалении программы. Заметьте, что все пути в этом файле являются относительными, либо выражены при помощи переменных окружения. Вам нужно дописать в этот файл по строчке для каждого нового файла, добавленного в папку Total Commander при установке “наворотов” в папку программы. Также, если вы желаете удалить какие-либо файлы вне папки Total Commander-а (к примеру, если вы создали ярлык на рабочем столе к программе TweakTC, и хотите удалить его при удалении TotalCommander-а), то нужно прописать пути к этим файлам, используя переменные окружения (в последнем примере это может быть “$desktop$\Тонкая настройка Total Commander.lnk” — обратите внимание на знаки $ вокруг слова desktop).
В-третьих, создайте где-нибудь временную папку для складывания дистрибутива — например, c:\temp\totcmd\cab. В эту папку скопируйте полностью содержимое папки программы. Затем удалите из этой папки файл справки (обычно totalcmd.hlp), файл с описанием клавиатурных сокращений (keyboard.txt) и файл register.wri. После чего создайте ещё одну папку, и распакуйте в неё исходный дистрибутив TotalCommander. Для этого просто войдите в исполнимый файл дистрибутива, как в архив (нажмите на нём Ctrl+PageDown), затем выделите всё, что в нём содержится, и просто перенесите (распакуйте) в нужное место. Далее. В дистрибутиве войдите в архив Install.cab, и скопируйте из него папку Windows в нашу временную папку с нашим (не оригинальным) дистрибутивом.
Теперь вам нужно выделить всё содержимое подготовленной папки и сжать её в один cab-архив (для этого потребуется PowerArchiver или Cabinet Manager). Имя архива должно быть install.cab. Надеюсь, вы не забыли упаковать в архив также ключевой файл wincmd.key?
Затем подготовьте ещё одну папку, в которую поместите вышеупомянутые файлы totalcmd.hlp, keyboard.txt и register.wri. Будет весьма неплохо, если вы найдёте русские переводы этих файлов и скопируете именно их. Затем запакуйте все эти файлы в архив installr.cab.
Далее. Скопируйте только что созданные файлы install.cab и installr.cab в папку с распакованным оригинальным дистрибутивом программы (файл install.cab нужно будет записать поверх имеющегося).
Структура дистрибутива следующая: общее “мясо” программы лежит в файле install.cab, а то, что относится к конкретному языку — в файлах installe.cab (английский) и installd.cab (немецкий). Мы только что перезаписали основной архив, а также добавили архив с русскими ресурсами - installr.cab. Кстати, если вам не нужен файл с немецкими ресурсами - installd.cab, то его можно удалить. Теперь осталось заставить программу-инсталлятор увидеть то, что мы ей предлагаем! Открываем в блокноте файл install.inf и редактируем его. Я приведу ниже лишь изменённые секции, которые я сделал для своей инсталляции:
[Languages]
Count=2
Default=2
1=English
2=Русский (Russian),r
[LangName]
langdir=language
0=wcmd_eng
r=wcmd_rus
Немного ниже я удалил секцию [Installd] со всем её содержимым, и прописал вместо неё следующую секцию:
[Installr]
1=installr.cab,c
2=install.cab,c
(если вам нужны немецкие ресурсы, вы можете не удалять секцию installd, а просто дописать русскую секцию, или не прописывать ничего)
Далее. Изменения в секции DeskTop. Здесь вы можете прописать дополнительные иконки. Например, иконку для TweakTC:
[Desktop]
...
2=tweak\tweaktc.exe","Тонкая настройка Total Commander.lnk"
Наконец, в секции [ini] добавляем русскую секцию:
[inir]
1=wincmd.ini,configuration,languageini,wcmd_rus.lng
2=wincmd.ini,configuration,Mainmenu,wcmd_rus.mnu
Также, если нужно, удаляем все остальные секции, кроме [ini]. Не забудьте сохранить изменения в отредактированном файле.
Последние штрихи...
Созданный дистрибутив Total Commander уже полностью работоспособен. Вы можете сами убедиться в этом, запустив файл install.exe. Однако для полного счастья вы можете запаковать полученный дистрибутив WinRaR-ом так, чтобы получился самораспаковывающийся архив — чтобы при запуске он “молча” распаковывался во временную папку и запускал там файл install.exe. Ещё можно назначить этому архиву оригинальную иконку от Total Commander (её можно вытащить любым редактором ресурсов, или, например, вытащить с данной статьи).
Что в итоге получилось? Установив программу мы получаем полностью работоспособный, русифицированный, и максимально навороченный Total Commander со всеми приладами! Ну разве не прелесть?!
- LocKtaR-o-DarK
- Сообщения: 349
- Зарегистрирован: Пт авг 12, 2005 04:20
- Откуда: Москва
- Контактная информация:
Ну, самое простое в NSIS создать самораспаковывающийся архив (не путать с инсталляцией). Делается это так: берешь папку с Тоталом архивируешь Zip`ом так, чтобы файл приложения был в корне архива, а потом берешь zip2.exe из NSIS`а и создаешь самораспаковывающийся архив
- в программных файлах NSIS`а заходишь в папку Contrib\zip2exe, ищешь файл Base.nsh, открываешь блокнотом. Находишь строку: «SetCompressor lzma» и заменяешь на «SetCompressor /solid lzma»
- чтобы самораспаковывающийся архив был русским в файле Modern.nsh заменяешь «!insertmacro MUI_LANGUAGE "English"» на «!insertmacro MUI_LANGUAGE "Russian"»
После этих операций ты без проблем сможешь конвертировать zip-архивы в exe с высокой степенью сжатия
Теперь о самой инсталляции:
Сложность инсталляции и набор функций зависит ТОЛЬКО от тебя
И так преступим:
Берешь блокнот и создаешь файл (типа install_total.nsi) и прописываешь следующее :
Name "Total Commander XP" ; - название инсталляции
OutFile "setup_total.exe" ; - имя выходного файла инсталляции
InstallDir "$PROGRAMFILES\Total Commander XP" ; - папка инсталляции программы по умалчиванию
InstallDirRegKey HKCU "Software\Total Commander XP" "" ; - ключ в реестре для установки
InstType "Полная" ; - тип установки
InstType "Минимальная" ; - тип установки
SetCompressor /solid lzma ; - использовать непрерывное сжатие Lzma
SetDatablockOptimize on ; - включить оптимизацию данных блока
CRCCheck off ; - не проверять контрольную сумму инсталлятора
WindowIcon off ; - выключаем иконку у окна инсталлятора
XPStyle on ; - включаем использование стиля XP
SetOverwrite on ; - возможность перезаписи файлов включена
AllowRootDirInstall false ; - отменяем возможность установки программы в корень
AutoCloseWindow false ; - отмена автозакрытия инсталлятора после выполнения всех действий
!include "MUI.nsh" ; - это модуль "модной" оболочки
; Настройка интерфейса
BrandingText "Total Commander" ; - текст внизу инсталляции
BGGradient 0x0000FF 0x000080 0x0080FF ; - устанавливаем фон установки (верхний/нижний/цвет текста)
!define MUI_HEADERIMAGE ; - возможность запихнуть в заголовок рисунок
!define MUI_HEADERIMAGE_BITMAP "modern-header.bmp" ; - сам рисунок в заголовке
!define MUI_HEADERIMAGE_RIGHT ; - рисунок в заголовке будет находиться справа
!define MUI_ICON "Install.ico" ; - иконка инсталлятора
!define MUI_UNICON "UnInstall.ico" ; - иконка деинсталлятора
!define MUI_COMPONENTSPAGE_SMALLDESC ; - увеличивает место под компоненты
!define MUI_ABORTWARNING ; - предупреждать об отмене установки
!define MUI_LICENSEPAGE_RADIOBUTTONS ; - Использовать радиокнопки на странице лицензии
; Страницы установки
!insertmacro MUI_PAGE_WELCOME ; - Страница приветствия
!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt" ; - Страница с лицензией
!insertmacro MUI_PAGE_COMPONENTS ; - страница компонентов
!insertmacro MUI_PAGE_DIRECTORY ; - страница выбора папки установки
Var MUI_TEMP ; - две переменные для хранения пути для ярлыков в меню Пуск
Var STARTMENU_FOLDER
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Total Commander XP"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Label"
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER ; - страница с выбором группы ярлыков
!insertmacro MUI_PAGE_INSTFILES ; - страница хода выполнения установки
!insertmacro MUI_UNPAGE_CONFIRM ; - страница проверки пути деинсталлятором
!insertmacro MUI_UNPAGE_INSTFILES; - страница хода выполнения удаления
;Языки
!insertmacro MUI_LANGUAGE "Russian" ; - выбераем русский
; Секции компонентов для установки
Section "Total Commander" Total ; - Секция установки основной программы со ссылкой на описание
SectionIn RO ; - Секция только для чтения, т.е. ее нельзя отключить
SetOutPath "$INSTDIR" ;папка для выполнения операций
File "TOTALCMD.EXE" ; Распаковываем этот файл в папку $INSTDIR
;Создание ярлыков
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Total Commander XP" "$INSTDIR\TOTALCMD.EXE"
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Удаление Total Commander XP.lnk" "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_END
;Сохраняем путь к программе в реестре
WriteRegStr HKCU "Software\Total Commander XP" "" "$INSTDIR"
;Создаем uninstall'ятор и записываем его в папку, куда устанавливаем программу
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd ; - так заканчивается любая из секций
Section !Плагины Plugins ; - Знак "!" означает, что пункт жирным текстом
SectionIn 1 ; - Принадлежность секции к полной установки
SetOutPath "$INSTDIR\Plugins\" ;папка для выполнения операций
File "Plugin.exe" ; - Распаковываем этот файл в папку $INSTDIR\Plugins
SectionEnd
; Описания программых модулей
; В этой секции написаны макросы, которые позволяют при наведении на компонент для установки показывать его
; описание
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${Total} "Здесь сам Total
!insertmacro MUI_DESCRIPTION_TEXT ${Plugins} "А здесь плугу к нему"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
Section "Uninstall" ; данная секция необходима для описания деинсталлятора
Delete "$INSTDIR\Uninstall.exe" ; удаление файлов
Delete "$INSTDIR\Plugins\Plugin.exe"
Delete "$INSTDIR\TOTALCMD.exe"
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP ; выдираем из реестра путь к ярлыкам и удаляем их
Delete "$SMPROGRAMS\$MUI_TEMP\Total Commander XP"
Delete "$SMPROGRAMS\$MUI_TEMP\Удаление Total Commander XP.lnk"
;Удаляем ненужные пункты меню Пуск
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
startMenuDeleteLoop:
RMDir $MUI_TEMP
GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
IfErrors startMenuDeleteLoopDone
StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone:
RMDir "$INSTDIR\Plugins\" ; - Удаляем папки (пустые)
RMDir "$INSTDIR"
DeleteRegKey /ifempty HKCU "Software\Total Commander XP" ; удаляем ключ из реестра...
SectionEnd
Ну вот наверное и все самое основное....
P.S. Самое удобное создавать скрипты в HM NIS Edit http://hmne.sourceforge.net/, хотя тоже не плохая программа и Venis IX http://www.spaceblue.com/venis/ - Это кому как нравиться
