Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипт NSIS для перепаковки AIMP2+Сборки

Ответить
Настройки темы
Скрипт NSIS для перепаковки AIMP2+Сборки

Аватара для hb860

Идиот


Сообщения: 1126
Благодарности: 420

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: hb860
Дата: 06-06-2010
Описание: Cкрипт для 2.6 и сборка
Вложения
Тип файла: 7z aimp2.6.7z
(5.7 Kb, 1086 просмотров)
Cкрипт для NSIS, позволяющий создать свою сборку этой замечательной программы.
После компиляции скрипта,получается инсталлятор, который имеет опции выбора того, что ставить.
ВНИМАНИЕ!
Этот скрипт предоставляется вам исключительно для персонального использования.Компилируя им свою сборку, вы обязуетесь никогда и нигде не распространять её, как с целью получения прибыли, так и для любой другой цели. Код и сборка предоставлены в общий доступ с любезного разрешения Артёма Измайлова. Изменяя код этого скрипта, и распространяя модифицированный скрипт или саму сборку на его основе, вы нарушаете лицензию использования AIMP2 и условия, на которых получено разрешение на создание скрипта и сборки.
Официальный сетевой ресурс плеера: http://wwww.aimp.ru
Описание инсталлятора

Скрипт
-ставит ассоциации на все форматы AIMP2
-корректно ставит ассоциации в NT6.x
-удаляет ассоциации при удалении приложения
-поддерживает файл ответов для тихой установки

Скомпилированный инсталлятор поддерживает всего два ключа командной строки - /G и /S
/G - запускает инсталлятор в режиме генератора файла ответов, примерно также работает инсталлятор к-лайт кодеков с ключом -MakeUnatended. Расставляете галки на нужных компонентах, в системе никаких изменений не происходит, а факт выбора компонентов записываются в файл с именем <ИМЯ_СБОРКИ_БЕЗ_РАСШИРЕНИЯ>.ini.

/S - ну этот ключ в представлении не нуждается, правда, теперь при его указании инсталятор смотрит наличие файла ответов, и если текущий компонент помечен как выбранный, компонент устанавливается, в противном случае компонент игнорируется. Если файла ответов нет, происходит обычная тихая установка.

Возможность указания пользовательской шкуры, библиотеки значков и папки установки вынесена в файл ответов. В файл ответов эти параметры в последней версии скрипта добавляются через специальную страницу режима генератора:
Код:
[advanced]
SkinFile=Lagoon.acs2
IconFileName=aimp classic2.dll
Directory=%systemdrive%\Aimp2

Опция Directory понимает %systemdrive%, %programfiles%, %appdata%, %windir%. Удалите её из файла ответов, и программа встанет сама в Program files\aimp2.
Скрипт поддерживает упаковку аимпа с TOOLS и без, без необходимости его правки. Проверяется наличие соответствующих файлов, и если их нет, ярлыки на инструменты просто не создаются.
ВНИМАНИЕ! Если вы запускали генератор файлом, к примеру AIMP2- 2.6.0.250.exe, а потом переименовали в AIMP2.exe, не забудьте переименовать и файл ответов из AIMP2- 2.6.0.250.ini в AIMP2.ini, иначе он не подцепится.



Код скрипта не лезет в сообщение См. вложение

Создание своего дистрибутива

0. Измените в скрипте !define pkgdir на !define pkgdir "с:". Или на другое другое место, где вам удобно хранить исходные файлы. Скрипт ищет файлы по принципу pkgdir+\aimp\player\ и так далее.
1. Создайте на диске C: папки c:\Aimp\Player, c:\Aimp\skins\, c:\aimp\Icons, c:\Aimp\profile
2. Положите в С:\Aimp\Player оригинальный набор файлов программы. Их можно получить, распаковав дистрибутив программы архиватором 7-zip
3. В папку c:\aimp\skins\ поместите свои любимые скины
4. В папку c:\aimp\icons\ поместите значки для типов файлов
5. Необязательно. В папку c:\Aimp\profile положите содежимое папки %programfiles%\aimp\data\profile(если у Вас "однопользовательский" режим использования программы, в противном случае положите туда содержимое %APPDATA%\AIMP). Смотрите также этот пост
5. Скомпилируйте скрипт. На выходе получится файл Aimp2-<текущая версия>.exe


Проверялось: Windows XP SP3 x86, Windows 7 7600 RTM, Vista SP2. Теоретически работает во всех NT6.x при запуске инсталлятора с повышенными привилегиями.
Сборку на основе 2.61.570 с AIMP TOOLS можно загрузить здесь, а описание состава сборки - здесь

Отправлено: 09:42, 21-02-2008

 

Пользователь


Сообщения: 129
Благодарности: 39

Профиль | Отправить PM | Цитировать


katok888, три файлика на выбор: cmd, reg, ini - в одном комплекте (ассоциация с файлами полная, плюс добавлена для *.dts, *.midi, *.ac3).

Спасибо Bulba_S и его утилите для сохранения и восстановления ассоциаций файлов.
зы. необходимо учитывать путь - при установке напрямую этими файлами, он будет "C:\Program Files\AIMP2".
ззы. для отображения в Настройках AIMP2 проассоциированных файлов все равно нужно будет выполнить "aimp2.exe /REG=R"

-------
- /../а как бы ты поступил, если бы сейчас через эту дверь к нам вошел бог?
- Я бы велел ему вытереть ноги/../ © Р.Хайнлайн

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:40, 06-10-2008 | #41



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для katok888

Старожил


Сообщения: 497
Благодарности: 122

Профиль | Отправить PM | Цитировать


Imago_, А что если я добавлю ключи реестра, отвечающие за ассоциации файлов в скрипт INNO ?
Цитата Imago_:
все равно нужно будет выполнить "aimp2.exe /REG=R" »
??

При совместном использовании с MP3ext, чтобы остались значки от MP3ext, нужно исключить ключи вида
Код: Выделить весь код
[HKEY_CLASSES_ROOT\AIMP.xx\DefaultIcon]
@="C:\\Program Files\\AIMP2\\Icons\\aimp2.dll,x"
???

Отправлено: 19:37, 06-10-2008 | #42


Аватара для hb860

Идиот


Сообщения: 1126
Благодарности: 420

Профиль | Сайт | Отправить PM | Цитировать


katok888, как это всё относится вообще к inno setup ??
Цитата Imago_:
все равно нужно будет выполнить "aimp2.exe /REG=R" »
Блин, да не надо ничё, если корректно прописать в инсталяторе расширения, галки будут стоять как надо! Единственно чё - надо в Aimp2.ini записать файл библиотеки иконок, чтобы отображался в программе, хотя это для эстетов, а не для функциональности.
P.S. Строча всё это, я полагаю, что Вы, уважаемый katok888, пишете скрипт в формате INNO SETUP

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:42, 06-10-2008 | #43


Пользователь


Сообщения: 129
Благодарности: 39

Профиль | Отправить PM | Цитировать


Цитата hb860:
надо в Aimp2.ini записать файл библиотеки иконок »
Цитата hb860:
хотя это для эстетов »
Э-э.. собственно это и имелось ввиду - при выполнении команды - происходит запись в конфиг. Но пропись напрямую в инишник наверное проще
сенЬкс.
Цитата katok888:
чтобы остались значки от MP3ext »
а в чем сложность? не писать значки и все. А можно сделать финт ушами - взять понравившиеся значки, запихать в dll отвечающую за иконки в AIMP2 и выставить иконки из dll-ки по умолчанию.

-------
- /../а как бы ты поступил, если бы сейчас через эту дверь к нам вошел бог?
- Я бы велел ему вытереть ноги/../ © Р.Хайнлайн

Это сообщение посчитали полезным следующие участники:

Отправлено: 03:32, 07-10-2008 | #44


Аватара для katok888

Старожил


Сообщения: 497
Благодарности: 122

Профиль | Отправить PM | Цитировать


Цитата Imago_:
финт ушами »
здесь не получится, MP3ext прописывает значки mp3-файлов в зависимости от битрейта.

Отправлено: 20:29, 07-10-2008 | #45


Аватара для hb860

Идиот


Сообщения: 1126
Благодарности: 420

Профиль | Сайт | Отправить PM | Цитировать


katok888, хм, очень интересно. Пожалуй, в этом есть смысл! Скачаю MP3ext и посмотрю как это он делает

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8


Отправлено: 09:02, 08-10-2008 | #46


Аватара для SamLab

Ветеран


Сообщения: 5843
Благодарности: 2914

Профиль | Сайт | Отправить PM | Цитировать


AIMP 2.50.306 Release
http://www.aimp.ru/files/aimp2/aimp_...06_release.zip
http://soft.oszone.net/files_soft/ai...06_release.zip
http://aimp.010203.ru/aimp_2.50.306_release.zip

Сборка финальной версии на основе скрипта из шапки
http://slil.ru/26227751

-------
SamLab.ws - Программы и русификаторы + SamForum.org - Софтовый форум + Новые драйверы

Свобода — это когда забываешь отчество у тирана © Бродский

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:09, 12-10-2008 | #47


Аватара для hb860

Идиот


Сообщения: 1126
Благодарности: 420

Профиль | Сайт | Отправить PM | Цитировать


Обновил номер сборки в скрипте и саму сборку в шапке

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:55, 12-10-2008 | #48


Аватара для Комсомолец

Ветеран


Автор проектов


Сообщения: 1558
Благодарности: 228

Профиль | Сайт | Отправить PM | Цитировать


hb860, немного поправил скрипт. Может пригодится, но мне так удобнее. )) посмотри.
читать дальше »
Код: Выделить весь код
;Text/Registry definitions
!define PRODUCT_NAME "AIMP2"
!define PRODUCT_VERSION "2.5.0.306"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define BRANDING "By hb860"

;icons indexes definition
!define idxWAV 0
!define idxMP3 1
!define idxOGG 2
!define idxWMA 3
!define idxAUDIO 4
!define idxMOD 5
!define idxFLAC 6
!define idxMPC 7
!define idxSKIN 8
!define idxPLAYLIST 9

; MUI 1.67 compatible ------
!include "MUI.nsh"
!include "FileFunc.nsh"
!include "LogicLib.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\aimp.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-blue-full.ico"
!define MUI_COMPONENTSPAGE_NODESC 
; Welcome page
!insertmacro MUI_PAGE_WELCOME
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS 
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES
; Language files
!insertmacro MUI_LANGUAGE "Russian"

;service macroses
!insertmacro GetOptions
!insertmacro RefreshShellIcons

;Common directives
BrandingText "${BRANDING}"
Name "${PRODUCT_NAME}"
Caption "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\AIMP2"
ShowInstDetails show
ShowUninstDetails show

;installation types
InstType "Полная"
InstType "Сокращенная"
InstType "Минимальная"

;variables section
Var SkinFile
Var IconFile
Var IconFileName
Var OpenCommand
Var ProfilePath
Var MultiUser
Var MultiUserCmdValue

;custom filetype registration function
!macro RegisterExtension extenstion /*ContentType PerceivedType*/ ClassName ClassStrDefault IconIndex
  WriteRegStr HKCR "${extenstion}" "" "${ClassName}"
  ;WriteRegStr HKCR "${extenstion}" "PerceivedType" "${PerceivedType}"
  ;WriteRegStr HKCR "${extenstion}" "Content Type" "${ContentType}"
  
  WriteRegStr HKCR "${ClassName}" "" "${ClassStrDefault}"
  WriteRegStr HKCR "${ClassName}\CLSID" "" "{0041494D-5032-4472-6F70-546172676574}"
  WriteRegStr HKCR "${ClassName}\DefaultIcon" "" "$IconFile,${IconIndex}"
  WriteRegStr HKLM "${ClassName}\shell\open" "" "Открыть в AIMP2"
  WriteRegStr HKCR "${ClassName}\shell\open\command" "" "$OpenCommand"
  WriteRegStr HKCR "${ClassName}\shell\open\DropTarget" "CLSID" "{0041494D-5032-4472-6F70-546172676574}"
!macroend



;sections
Section "!${PRODUCT_NAME}" 
  SectionIn 1 2 3 RO
  StrCpy $ProfilePath "$INSTDIR\Data\Profile"
  SetOutPath "$INSTDIR\"
   File /r "C:\AIMP2\*.*"
	WriteUninstaller "$OUTDIR\uninst.exe"
	WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
	WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$OUTDIR\aimp2.exe"
	WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\uninst.exe"
	WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
SectionEnd

Section /o "Отдельные настройки на каждого пользователя"
	SectionIn 1
	;Very important be sure what SetShellVarContext has CURRENT value here
	StrCpy $MultiUser 1
SectionEnd

;=========================================================================================================================
SectionGroup /e "Дополнения"
	
	Section "Скины" 
		SectionIn 1 2
		SetOutPath "$INSTDIR\Skins"
		File "C:\AIMP2\Skins\*.*"
	SectionEnd

	Section "Иконки типов файлов" 
		SectionIn 1 2
		SetOutPath "$INSTDIR\Icons"
		File "C:\AIMP2\Icons\*.*"
	SectionEnd
SectionGroupEnd	

;=========================================================================================================================
SectionGroup /e "Ярлыки"
	Section "В меню Пуск" 
		SectionIn 1 2 3
		SetShellVarContext all
		CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
		CreateShortCut  "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\aimp2.exe"
		CreateShortCut  "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Advanced Tag Editor.lnk" "$INSTDIR\AIMP2t.exe"
		CreateShortCut  "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Audio Converter.lnk" "$INSTDIR\AIMP2c.exe"
		CreateShortCut  "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Audio Recorder.lnk" "$INSTDIR\AIMP2r.exe"
		CreateShortCut  "$SMPROGRAMS\${PRODUCT_NAME}\Удалить ${PRODUCT_NAME}.lnk" "$INSTDIR\uninst.exe"
	SectionEnd
	Section "На рабочем столе" 
		SectionIn 1
		IfSilent +3
		SetShellVarContext all
		CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\aimp2.exe"
	SectionEnd
	Section "В панели быстрого запуска" 
		SectionIn 1 2
		SetShellVarContext all
		CreateShortCut "$QUICKLAUNCH\${PRODUCT_NAME}.lnk" "$INSTDIR\aimp2.exe"
	SectionEnd
SectionGroupEnd	

;=========================================================================================================================
SectionGroup /e "Ассоциации файлов"
	Section "-GetIconsDll"
		SectionIn 1 2 3
		${GetOptions} $CMDLINE "/ICONS=" $IconFileName
		StrCmp $IconFileName "" EmptyIconFile
		IfFileExists "$INSTDIR\Icons\$IconFileName" EndSection IconFileNotExists
			
		IconFileNotExists:
			StrCpy $IconFileName ""
		EmptyIconFile:
			StrCpy $IconFileName "aimp2.dll"
		EndSection:
			StrCpy $IconFile "$INSTDIR\Icons\$IconFileName"
			StrCpy $OpenCommand "$INSTDIR\AIMP2.exe $\"%1$\""
	SectionEnd
	
	Section "Контекстое меню проводника"
		SectionIn 1 2
		RegDLL  "$INSTDIR\System\aimp_shell.dll"
	SectionEnd
	
	Section "AAC"
		SectionIn 1 2
		!insertmacro RegisterExtension ".aac" "AIMP.AAC" "AIMP2: AAC" ${idxAUDIO}
	SectionEnd
	
	Section "ACS2"
		SectionIn 1 2
		!insertmacro RegisterExtension ".acs2" "AIMP.ACS2" "AIMP2: ACS2" ${idxSKIN}
	SectionEnd
	
	Section "AIF"
		SectionIn 1 2
		!insertmacro RegisterExtension ".aif" "AIMP.AIF" "AIMP2: AIF" ${idxAUDIO}
	SectionEnd	
	
	Section "AIFF"
		SectionIn 1 2
		!insertmacro RegisterExtension ".aiff" "AIMP.AIFF" "AIMP2: AIFF" ${idxAUDIO}
	SectionEnd		
	
	Section "APE"
		SectionIn 1 2
		!insertmacro RegisterExtension ".ape" "AIMP.APE" "AIMP2: APE" ${idxAUDIO}
	SectionEnd	

	Section "AUDIOCD"
		SectionIn 1 2 3
		!insertmacro RegisterExtension "AudioCD" "AIMP.AUDIOCD" "AIMP2: AUDIOCD" ${idxAUDIO}
	SectionEnd		
	
	Section "CDA"
		SectionIn 1 2
		!insertmacro RegisterExtension ".cda" "AIMP.CDA" "AIMP2: CDA" ${idxAUDIO}
	SectionEnd		

	Section "CUE"
		SectionIn 1 2
		!insertmacro RegisterExtension ".cue" "AIMP.CUE" "AIMP2: CUE" ${idxPLAYLIST}
	SectionEnd

	Section "FLAC"
		SectionIn 1 2
		!insertmacro RegisterExtension ".flac" "AIMP.FLAC" "AIMP2: FLAC" ${idxFLAC}
	SectionEnd	

	Section "IT"
		SectionIn 1 2
		!insertmacro RegisterExtension ".it" "AIMP.IT" "AIMP2: IT" ${idxMOD}
	SectionEnd
	
	Section "M3U"
		SectionIn 1 2 3
		!insertmacro RegisterExtension ".m3u" "AIMP.M3U" "AIMP2: M3U" ${idxPLAYLIST}
	SectionEnd	
	
	Section "M3U8"
		SectionIn 1 2
		!insertmacro RegisterExtension ".m3u8" "AIMP.M3U8" "AIMP2: M3U8" ${idxPLAYLIST}
	SectionEnd	
	
	Section "MID"
		SectionIn 1 2
		!insertmacro RegisterExtension ".mid" "AIMP.MID" "AIMP2: MID" ${idxAUDIO}
	SectionEnd	

	Section "MO3"
		SectionIn 1 2
		!insertmacro RegisterExtension ".mo3" "AIMP.MO3" "AIMP2: MO3" ${idxMOD}
	SectionEnd	
	
	Section "MOD"
		SectionIn 1 2
		!insertmacro RegisterExtension ".mod" "AIMP.MOD" "AIMP2: MOD" ${idxMOD}
	SectionEnd	

	Section "MP1"
		SectionIn 1 2
		!insertmacro RegisterExtension ".mp1" "AIMP.MP1" "AIMP2: MP1" ${idxMP3}
	SectionEnd

	Section "MP2"
		SectionIn 1 2
		!insertmacro RegisterExtension ".mp2" "AIMP.MP2" "AIMP2: MP2" ${idxMP3}
	SectionEnd	

	Section "MP3"
		SectionIn 1 2 3
		!insertmacro RegisterExtension ".mp3" "AIMP.MP3" "AIMP2: MP3" ${idxMP3}
	SectionEnd		

	Section "MPC"
		SectionIn 1 2
		!insertmacro RegisterExtension ".mpc" "AIMP.MPC" "AIMP2: MPC" ${idxMPC}
	SectionEnd

	Section "MTM"
		SectionIn 1 2
		!insertmacro RegisterExtension ".mtm" "AIMP.MTM" "AIMP2: MTM" ${idxMOD}
	SectionEnd

	Section "OGG"
		SectionIn 1 2 3
		!insertmacro RegisterExtension ".ogg" "AIMP.OGG" "AIMP2: OGG" ${idxOGG}
	SectionEnd

	Section "PLC"
		SectionIn 1 2 3
		!insertmacro RegisterExtension ".plc" "AIMP.PLC" "AIMP2: PLC" ${idxPLAYLIST}
	SectionEnd

	Section "PLS"
		SectionIn 1 2 3
		!insertmacro RegisterExtension ".pls" "AIMP.PLS" "AIMP2: PLS" ${idxPLAYLIST}
	SectionEnd

	Section "S3M"
		SectionIn 1 2
		!insertmacro RegisterExtension ".s3m" "AIMP.S3M" "AIMP2: S3M" ${idxMOD}
	SectionEnd

	Section "UMX"
		SectionIn 1 2
		!insertmacro RegisterExtension ".umx" "AIMP.UMX" "AIMP2: UMX" ${idxMOD}
	SectionEnd	
	
	Section "WAV"
		SectionIn 1 2 3
		!insertmacro RegisterExtension ".wav" "AIMP.WAV" "AIMP2: WAV" ${idxWAV}
	SectionEnd	
	
	Section "WMA"
		SectionIn 1 2 3
		!insertmacro RegisterExtension ".wma" "AIMP.WMA" "AIMP2: WMA" ${idxWMA}
	SectionEnd	

	Section "WV"
		SectionIn 1 2
		!insertmacro RegisterExtension ".wv" "AIMP.WV" "AIMP2: WV" ${idxAUDIO}
	SectionEnd
	
	Section "XM"
		SectionIn 1 2
		!insertmacro RegisterExtension ".xm" "AIMP.XM" "AIMP2: XM" ${idxMOD}
	SectionEnd	
	Section "-RefreshIcons"
		SectionIn 1 2 3
		${RefreshShellIcons}
	SectionEnd
SectionGroupEnd	
;=========================================================================================================================
Section "-PostinstallProfileProcessing"
	;here we must set current user constats context
	SetShellVarContext current

	;common INI settings
	CreateDirectory "$INSTDIR\DATA"
	WriteINIStr "$INSTDIR\DATA\AIMP.INI" System DefaultLang russian.lng
	WriteINIStr "$INSTDIR\DATA\AIMP.INI" System Version 2500
	
	${GetOptions} $CMDLINE "/MULTIUSER=" $MultiUserCmdValue
	StrCmp $MultiUserCmdValue "" +2
	StrCpy $MultiUser $MultiUserCmdValue
	
	StrCmp $MultiUser 1 PerUserCFG OneUserCFG
	
	PerUserCFG:
		WriteINIStr "$INSTDIR\DATA\AIMP.INI" System UserMode 1
		StrCpy $ProfilePath "$APPDATA\AIMP"
		CreateDirectory "$ProfilePath"
		Goto WriteCFG
	OneUserCFG:	
		WriteINIStr "$INSTDIR\DATA\AIMP.INI" System UserMode 0
		CreateDirectory "$INSTDIR\DATA\Profile" 
		Goto WriteCFG
	WriteCFG:
		SetOutPath "$ProfilePath"
		File /nonfatal /r "c:\Aimp2\DATA\Profile\"
		
		IfFileExists "$ProfilePath\AIMP2.INI" EndSection
		WriteINIStr "$ProfilePath\AIMP2.INI" System LangFile russian.lng ;язык по умолчанию для плеера
		WriteINIStr "$ProfilePath\AIMP2r.INI" System LangFile russian.lng ;язык по умолчанию для рекордера
		WriteINIStr "$ProfilePath\AIMP2c.INI" System LangFile russian.lng ;язык по умолчанию для конвертера
		WriteINIStr "$ProfilePath\AIMP2t.INI" System LangFile russian.lng ;язык по умолчанию для таггера	
	EndSection:	
		${GetOptions} $CMDLINE "/SKIN=" $SkinFile
		StrCmp $SkinFile "" +2
		WriteINIStr "$ProfilePath\AIMP2.INI" Skins DefaultSkin $SkinFile	;скин		
		WriteINIStr "$ProfilePath\AIMP2.INI" Skins ICL $IconFileName	;скин
SectionEnd

Function un.onUninstSuccess
  HideWindow
  MessageBox MB_ICONINFORMATION|MB_OK "Удаление программы $(^Name) было успешно завершено."
FunctionEnd

Function un.onInit
  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Вы уверены в том, что желаете удалить $(^Name) и все компоненты программы?" IDYES +2
  Abort
FunctionEnd

Section Uninstall
  UnRegDLL "$INSTDIR\System\aimp_shell.dll"
  ExecWait '$INSTDIR\aimp2.exe /REG=U'
  RMDir /r "$INSTDIR\"
  SetShellVarContext all
  RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
  Delete "$DESKTOP\${PRODUCT_NAME}.LNK"
  Delete "$QUICKLAUNCH\${PRODUCT_NAME}.LNK"
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  SetAutoClose true
SectionEnd

-------
Для того, чтобы узнать, что такое рекурсия - необходимо узнать, что такое рекурсия. :)

http://forum.oszone.net/image.php?type=sigpic&userid=69953&dateline=1440353086


Отправлено: 11:18, 17-10-2008 | #49


Аватара для hb860

Идиот


Сообщения: 1126
Благодарности: 420

Профиль | Сайт | Отправить PM | Цитировать


Вот этот код
Код: Выделить весь код
File /r "C:\AIMP2\*.*"
затащит в дистрибутив всю папку "C:\AIMP2\Skins\*.*", тогда
Код: Выделить весь код
File "C:\AIMP2\Skins\*.*"
File "C:\AIMP2\Icons\*.*"
File /nonfatal /r "c:\Aimp2\DATA\Profile\"
не имеет смысла
Вот это, конечно, не лишнее
Код: Выделить весь код
Section "В панели быстрого запуска"
. У меня просто эта панель отключена, поэтому писать не стал

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8


Отправлено: 13:03, 17-10-2008 | #50



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипт NSIS для перепаковки AIMP2+Сборки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Автоматическая установка The KMPlayer + NSIS скрипт wolkow70 Автоматическая установка приложений 140 10-07-2021 15:48
Скрипт NSIS для перепаковки Mail.ru Agent hb860 Автоматическая установка приложений 47 16-04-2015 11:37
NSIS скрипт для перепаковки GOM player+сборка hb860 Автоматическая установка приложений 5 19-06-2014 00:03
Установка тем для Notepad++ с применением(NSIS скрипт+тема-сборка прилагается) hb860 Автоматическая установка приложений 3 16-10-2011 16:40
NSIS-скрипт для установки UsefulUtils Disc Studio(UUDS)+сборка hb860 Автоматическая установка приложений 0 26-11-2009 23:15




 
Переход