|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать kotkovets, теперь такая проблемка, не знаю даже возможно ли её исправить...
есть такие записи WriteRegStr HKLM "SOFTWARE\Classes\*\shellex\ContextMenuHandlers\AIMPClassic" "" "{1F77B17B-F531-44DB-ACA4-76ABB5010A28}" WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{1F77B17B-F531-44DB-ACA4-76ABB5010A28}" "" "AIMP2: ShellExt" WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{1F77B17B-F531-44DB-ACA4-76ABB5010A28}\InprocServer32" "" "C:\PROGRA~1\AIMP2\System\AIMP_S~1.DLL" WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{1F77B17B-F531-44DB-ACA4-76ABB5010A28}\InprocServer32" "ThreadingModel" "Apartment" WriteRegStr HKLM "SOFTWARE\Classes\Directory\shellex\ContextMenuHandlers\AIMPClassic" "" "{1F77B17B-F531-44DB-ACA4-76ABB5010A28}" Но это действует только в х86, а на х64 даже при установке с оригинального инсталлятора такого контекста нет... Как это моно поправь, и возможно ли вообще? И еще как проверить не установлена ли программа в системе при запуске инсталятора??? |
Отправлено: 12:58, 25-12-2011 | #2141 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать diakov,
Вам нужно регистрировать библиотеку aimp_shell.dll, а не ламерские и глупые сообщения разводить... и разрегистрация: Для контекстного меню AIMP3 есть файлики: aimp_menu32.dll aimp_menu64.dll Эти файлики регистрируются, так: разрегистрация: Цитата diakov:
-- Книжки читайте, там все расписано. |
|
------- Последний раз редактировалось kotkovets, 25-12-2011 в 23:00. Отправлено: 13:33, 25-12-2011 | #2142 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать Если что извините за торможение я просто еще учусь....
|
Отправлено: 14:24, 25-12-2011 | #2143 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать diakov, Не нужно извиняться, просто почитайте, поэкспериментируйте, а затем пишите,
а то не гоже - тот час писать, не получается, толком не разобравшись. |
------- Отправлено: 14:28, 25-12-2011 | #2144 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать да не тот час, если есть предположения то я экспериментирую, а если нет то спаршиваю...
з регистрацией и ассоциацией сидел часа 4 глаза с ночи красные как у быка! Но разобрался |
Отправлено: 14:33, 25-12-2011 | #2145 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать diakov,
IfFileExists "$PROGRAMFILES\AIMP3\AIMP3.exe" 0 CheckProfiles Goto CheckComplete ; CheckProfiles: IfFileExists "$APPDATA\AIMP3\AIMP3.INI" 0 CheckComplete ; CheckComplete: MessageBox MB_ICONINFORMATION|MB_OK "AIMP3 уже установлен, или на вашем компьютере есть настройки этого приложения. Данный инсталлятор не может быть использован поверх AIMP3" Abort Это обязательное требование автора программы для участников этого форума. |
------- Последний раз редактировалось wolkow70, 25-12-2011 в 15:55. Отправлено: 15:48, 25-12-2011 | #2146 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать wolkow70, а если пользователь установил прогу не в $PROGRAMFILES а AIMP3.INI нет тода как?
|
Отправлено: 16:29, 25-12-2011 | #2147 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70,
Совершенно неверная логика, которая всегда приведет к сообщению, что AIMP3 установлен! А Вот так правильна, логика ИЛИ ${If} ${FileExists} "$PROGRAMFILES\AIMP3\AIMP3.exe" ${OrIf} ${FileExists} "$APPDATA\AIMP3\AIMP3.INI" ${OrIf} ${FileExists} "$INSTDIR\AIMP3\AIMP3.INI" MessageBox MB_ICONINFORMATION|MB_OK "AIMP3 уже установлен, или на вашем компьютере есть настройки этого приложения. Данный инсталлятор не может быть использован поверх AIMP3" Abort ${EndIf} можно получить путь к dll, т.е папку установленной программы, затем проверяем наличие выше указанных файлов. |
------- Последний раз редактировалось kotkovets, 25-12-2011 в 17:11. Отправлено: 16:58, 25-12-2011 | #2148 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата diakov:
Цитата kotkovets:
Там так: Function .onInit --бла-бла-- ;Выполняем требования автора проекта. StrCpy $Violation 0 ; IfFileExists "$PROGRAMFILES\AIMP3\AIMP3.exe" 0 CheckProfiles StrCpy $Violation 1 Goto CheckComplete ; CheckProfiles: IfFileExists "$APPDATA\AIMP3\AIMP3.INI" 0 CheckComplete ; StrCpy $Violation 1 ; CheckComplete: StrCmp $Violation 1 0 +4 HideWindow MessageBox MB_ICONINFORMATION|MB_OK "AIMP3 уже установлен, или на вашем компьютере есть настройки этого приложения. Данный инсталлятор не может быть использован поверх AIMP3" Abort EndFunc: FunctionEnd |
||
------- Последний раз редактировалось wolkow70, 25-12-2011 в 17:59. Отправлено: 17:50, 25-12-2011 | #2149 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать kotkovets, подскажи, ато счас криша поедет
такой код для IcoFX2 отлично работает и на ссклинер такой ставил тоже работает и с /S /inst и с /S /port Function .onInit InitPluginsDir ;иницилизируем рабочую папку, куда будут распакованы картинки File "/oname=$PLUGINSDIR\nsis-r.bmp" "${NSISDIR}\Contrib\Graphics\Header\nsis-r.bmp" File "/oname=$PLUGINSDIR\orange-r.bmp" "${NSISDIR}\Contrib\Graphics\Header\orange-r.bmp" ClearErrors ${GetOptions} "$CMDLINE" "/port" $R0 ${If} ${Silent} ;если тихий режим ${IfNot} ${Errors} SetOutPath "$EXEDIR\IcoFX2Portable" File /r "D:\IcoFX\IcoFX 2.0\*.*" CreateDirectory "$APPDATA\IcoFX2" SetOutPath "$APPDATA\IcoFX2" File /r "D:\IcoFX\IcoFX2\*.*" ;тут пишем все команды при распаковки портативной версии ;здесь будет код выполняться с ключом /port в тихом режиме StrCpy $Radio1 1 ;распаковка портативной версии StrCpy $Radio 0 ;запрет установки в обычном режиме ${Else} ${GetOptions} "$CMDLINE" "/inst" $R0 SetOutPath "$INSTDIR" StrCpy $Radio1 0 ;запрет портативной версии StrCpy $Radio 1 ;установка в обычном режиме StrCpy $Check2 1 StrCpy $Check 1 StrCpy $Check1 1 MessageBox MB_OK "${PRODUCT_NAME} ${PRODUCT_VERSION} установлена в тихом режиме." ClearErrors ${EndIf} ${EndIf} FunctionEnd Function .onInit InitPluginsDir ;иницилизируем рабочую папку, куда будут распакованы картинки File "/oname=$PLUGINSDIR\nsis-r.bmp" "${NSISDIR}\Contrib\Graphics\Header\nsis-r.bmp" File "/oname=$PLUGINSDIR\orange-r.bmp" "${NSISDIR}\Contrib\Graphics\Header\orange-r.bmp" ClearErrors ${GetOptions} "$CMDLINE" "/port" $R0 ${If} ${Silent} ;если тихий режим ${IfNot} ${Errors} SetOutPath "$EXEDIR\AIMPPortable" File /r "D:\Aimp\AIMP2\*.*" ;тут пишем все команды при распаковки портативной версии ;здесь будет код выполняться с ключом /port в тихом режиме StrCpy $Radio1 1 ;распаковка портативной версии StrCpy $Radio 0 ;запрет установки в обычном режиме StrCpy $Check3 1 ${Else} ${GetOptions} "$CMDLINE" "/inst" $R0 SetOutPath "$INSTDIR" StrCpy $Radio1 0 ;запрет портативной версии StrCpy $Radio 1 ;установка в обычном режиме StrCpy $Check2 1 StrCpy $Check 1 StrCpy $Check1 1 StrCpy $Check3 1 MessageBox MB_OK "${PRODUCT_NAME} ${PRODUCT_VERSION} установлена в тихом режиме." ClearErrors ${EndIf} ${EndIf} FunctionEnd Как так????????????? |
Отправлено: 17:58, 25-12-2011 | #2150 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - WinAmp .:[ обсуждение всех версий ]:. | ssaram | Программное обеспечение Windows | 406 | 12-02-2022 19:45 | |
WinstyleMonitor .:[все вопросы]:. | Mr dUSHA | Проект WinStyle | 331 | 12-02-2014 13:15 | |
Delphi - Delphi .: [все вопросы] :. | Serega | Программирование и базы данных | 94 | 04-05-2013 18:45 | |
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. | Microsoft Windows 2000/XP | 105 | 30-06-2010 11:58 | ||
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|