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

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

 

Аватара для hb860

Идиот


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

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


Комсомолец, ты издеваешься чтоли ?
Цитата hb860:
то в C:\AIMP\Profile надо скопировать ВСЕ ФАЙЛЫ из папки c:\program files\aimp\data\profile »
Что тут может быть непонятного-то ? Берешь все файлы из папки Profile и копируешь в C:\AIMP\Profile.
Не надо никакой аимп.ини. Его мой скрипт создает сам(я подчеркиваю, МОЙ скрипт, до твоих извращений над ним )

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


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



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

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


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


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

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


А на бета версии будеш делать сборку ?

Отправлено: 15:36, 22-10-2008 | #72


Аватара для hb860

Идиот


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

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


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

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


Отправлено: 16:36, 22-10-2008 | #73


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

Ветеран


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


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

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


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

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

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


Отправлено: 16:56, 22-10-2008 | #74


Аватара для hb860

Идиот


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

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


Комсомолец, чё ещё за детские обиды? Пость чё хочешь!
Просто ты меняешь мой код, и я придерживаюсь в своих ответах ссылок на оригинальные исходники.Что в этом плохого ?
Единственное, чё мне не совсем понятно, так это:
1. зачем менять модель папок
2. зачем удалять отдельно компоненты.
Извини если чем обидел, я не со зла и не специально

P.S. Я придумал удалять компоненты записью лога в один файл Aimp.log в формате ини-файла. Типа
Код: Выделить весь код
[general]
files=10
file1=c:\program files\aimp2\aimp2.exe
...
file10=...
[skins]
files=1
file1=c:\program files\aimp2\skins\bla bla.acs2
И так далее
Вопрос: КАК ПИСАТЬ такой файл? Деисталером его обработать не проблема.

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


Отправлено: 16:58, 22-10-2008 | #75


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

Ветеран


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


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

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


Цитата hb860:
1. зачем менять модель папок »
просто хотел проверит.
Цитата hb860:
2. зачем удалять отдельно компоненты. »
хочется доработать скрипт под разные возможности. в жизни пригодится.
Обид нет.

вот. в общем вернулся к исходному.
читать дальше »
Код: Выделить весь код
;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 "Created by Комсомолец (с)2008"

;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}_PowerPack.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\Player\*.*"
	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

	Section "Визуализации" 
		SectionIn 1 2
		SetOutPath "$INSTDIR\PlugIns"
		File "C:\AIMP2\Visual\*.*"
	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\Player\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\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


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


Отправлено: 17:20, 22-10-2008 | #76


Аватара для Jeeb

Новый участник


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

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


Привет всем!
Скрипт очень полезный. hb860, отлично!
Сам пользовался, ибо в оригинальном установщике были проблемы с тихой установкой. Просто мне не нужно интегрировать свои компоненты в установщик.
На днях отписал разработчикам насчет их инсталлятора.
Обещали поправить, так что будем ждать.

Отправлено: 22:16, 22-10-2008 | #78


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

Ветеран


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


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

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


Jeeb, в скрипте hb860 так же можно ничего не интегрировать. только под тихую установку перепаковать.

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

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


Отправлено: 05:08, 23-10-2008 | #79


Аватара для hb860

Идиот


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

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


Комсомолец, он орать будет что нет файлов в C:\aimp\skins и c:\aimp\icons. Можно выкинуть секции "Иконки" и "Скины", или поставить там File /notfatal.

2ALL. Обновил сборку. Добавил 3 скина и программу обновил до 309го билда.
Скрипт пока тот же. Новый функционал в глубочааайшей разработке.

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


Последний раз редактировалось hb860, 23-10-2008 в 10:25.


Отправлено: 09:07, 23-10-2008 | #80



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




 
Переход