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

Компьютерный форум 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

 

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

Ветеран


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


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

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


Цитата hb860:
затащит в дистрибутив всю папку "C:\AIMP2\Skins\*.*", тогда
Код:
File "C:\AIMP2\Skins\*.*"
File "C:\AIMP2\Icons\*.*"
File /nonfatal /r "c:\Aimp2\DATA\Profile\"
не имеет смысла»
сорри, наскоряк делал....не обратил внимания. поправлю.)))

Цитата hb860:
File /r "C:\AIMP2\*.*" »
простто так удобнее, чем по диску С папки раскидывать. Да и основные ассоциации в минимальной установе не помешают. А быстрый запуск мне в обязательном порядке нужен, потому и добавил.

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

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


Отправлено: 06:30, 18-10-2008 | #51



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

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


Аватара для hb860

Идиот


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

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


Я включу этот ярлык в следующую версию скрипта. Есть ещё кой какие задумки на его счет

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


Отправлено: 14:30, 18-10-2008 | #52


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

Ветеран


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


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

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


hb860, я еще пункт "плагины" добавил. Просто их тоже пакет ставлю. Позже файл обновлю-поправишь ошибки.

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

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


Отправлено: 04:14, 19-10-2008 | #53


Аватара для hb860

Идиот


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

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


Вобщем, повторяем оригинальный инсталятор

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


Отправлено: 21:07, 19-10-2008 | #54


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

Ветеран


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


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

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


Цитата hb860:
Вобщем, повторяем оригинальный инсталятор »
Ничего подобного. Просто сборочка под себя, с тихой установкой, с нужными дополнениями, настройками и ярлыками. И при обычной установке есть возможность выбора компонентов. Разве плохо?

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

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


Отправлено: 04:38, 20-10-2008 | #55


Аватара для hb860

Идиот


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

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


Да собственно, для того ето и делалось Просто то, что щас мы тут совместными усилиями воротим, скоро повторит оригинальный инсталлер при "громкой" установке, но я ни в коем случае не считаю что это плохо. Скорее это хорошо, в итоге получится практически оригинальных дистриб, который, помимо всего прочего, ещё и
Цитата Комсомолец:
сборочка под себя, с тихой установкой, с нужными дополнениями, настройками и ярлыками »
Раз уж выносить плагины отдельной опцией, то можно ещё и визуализации вынести, как вариант развития скрипта.

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


Отправлено: 08:54, 20-10-2008 | #56


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

Ветеран


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


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

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


hb860, можно и визуализации вынести)) только вот как с дефолтными быть, которые в обязательном порядке ставятся (скины и визуализации)?

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

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


Отправлено: 05:32, 21-10-2008 | #57


Аватара для hb860

Идиот


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

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


Так я для этого и наплодил папок!!! C:\aimp\player - Это то что по делфолту! А ты начал на папки бочку катить Это правильный способ

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


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


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

Ветеран


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


Сообщения: 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

	Section "Плагины" 
		SectionIn 1 2
		SetOutPath "$INSTDIR\PlugIns"
	;	File "C:\AIMP2\PlugIns\*.*"
	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

Кстати, ${BRANDING} где вообще должен отображаться? Ни разу не увидел.

Цитата hb860:
можно ещё и визуализации вынести »
Как? Они же в одной папке с плагинами.

P.S.-нафига тебе юзербар?

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

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


Последний раз редактировалось Комсомолец, 21-10-2008 в 13:09.


Отправлено: 12:58, 21-10-2008 | #59


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

Ветеран


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


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

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


Цитата hb860:
Положите в c:\Aimp\Player оригинальный набор файлов программы. »
что-то хрень получилась. плеер в Player, все остальное отдельно в папках рядом с папкой плеер. Т.е. папки дублируются. Как то некрасиво.

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

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


Последний раз редактировалось Комсомолец, 21-10-2008 в 14:48.


Отправлено: 14:10, 21-10-2008 | #60



Компьютерный форум 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




 
Переход