Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для kotkovets

Ветеран


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

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


Цитата Paval:
Нужно сравнить версии программы на компе и той, что я ставлю. Если у пользователя версия новее - просот обрубаем инсталятор, если новее моя - удаляем старую и ставим мою »
Сначала нужно получить версию программы, откуда получить?
1. Из реестра, текстового файла...
2. Из исполняемого файла программы, макросом GetFileVersion (FileFunc.nsh)
3. Затем сравниваем полученную версию программы и исходно устанавливаемую.
Код: Выделить весь код
!include "WordFunc.nsh"
!define version "1.1.3" ;исходно устанавлимая версия
;--
Section
  ;команды получения установленной версии
  ;к примеру мы получили версию в $1
  StrCpy $1 "1.1.0"
  ${VersionCompare} "$1" "${version}" $0
  ${If} $0 == 0
       MessageBox MB_OK "версии равны"
  ${ElseIf} $0 == 1
       MessageBox MB_OK "исходная версия, меньше полученной"
  ${ElseIf} $0 == 2
       MessageBox MB_OK "исходная версия, больше полученной"
  ${EndIf}
SectionEnd
Цитата Paval:
P.S. В скрипт версию хардкодить нельзя. »
здесь обсуждаются только скрипты NSIS, я правильно понял или мне телепатом становится
1. У вас есть некий установщик проги, назовем его Х, а скрипта нет.
2. Вы хотите написать скрипт, который заводит/отменяет установку X в зависимости от ваших условий.
Цитата wolkow70:
Мы же не ищем легких путей »
Зачем делать то, что можно делать ключами проги: легко и просто....смысла нет огород 0городить
Цитата kotkovets:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1F77B17B-F531-44DB-ACA4-76ABB5010A28}\InprocServer32]
@="C:\\AIMP3\\Modules\\aimp_menu32.dll" »
при первом GetParent будет --> C:\AIMP3\Modules
при втором GetParent будет --> C:\AIMP3 , и затем нужно удалить папку проги
Код: Выделить весь код
ReadRegStr $4 HKLM "SOFTWARE\Classes\CLSID\{0041494D-5033-4472-6F70-546172676574}\LocalServer32" "" 
${GetParent} "$4" "$4"
${GetParent} "$4" "$4"
RMDir /r "$4"
;--
 StrCpy $4 "C:\AIMP3\Modules\aimp_menu32.dll"
${GetParent} "$4" "$4"
  MessageBox MB_OK "$4" IDOK
${GetParent} "$4" "$4"
  MessageBox MB_OK "$4" IDOK

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.


Последний раз редактировалось kotkovets, 25-01-2012 в 19:02.


Отправлено: 17:34, 25-01-2012 | #2239