Показать полную графическую версию : [архив].: NSIS - все вопросы :.
подскажите как & вставить в лейбл?
в место него просто пробел вставляется
$\& - не помогает...
другие сочетания с '/' '\' также не помогли (
kotkovets
01-11-2011, 16:24
2 раза написать не пробовали: test&&
А что за версия NSIS 2.46.3 ? Не официальная какая то ?
Наткнулся здесь : http://dl.dropbox.com/u/40510768/NSI...2011-10-25.exe
kotkovets
01-11-2011, 16:49
А что за версия NSIS 2.46.3 ? Не официальная какая то ? »
Фиксы, слышал, что хотят перевести проект исходников на VS2010 - очень здорово было бы!
2 раза написать не пробовали: test&& »
:pray:
не знал... :)
нужно, чтобы вместо "Извлечение: имя файла" на странице MUI_PAGE_INSTFILES был другой текст
в самом начале секции пишу
Section "Gago"
SetDetailsPrint textonly
DetailPrint "Установка..."
.......................
но все равно отображается "Извлечение: имя файла". Что не так делаю ? :help:
kotkovets
07-11-2011, 21:11
но все равно отображается "Извлечение: имя файла". Что не так делаю ? »
#845 (http://forum.oszone.net/post-1515790-845.html)
kotkovets, спасибо :)
В справочнике нашел, что-то подобное, в Примеры кодов - Интерфейс модерн - Ресурсы интерфейса. Там изменен этот текст на "Установка приложения...", но немного по-другому.
kotkovets
07-11-2011, 21:51
В справочнике нашел, что-то подобное, в Примеры кодов - Интерфейс модерн - Ресурсы интерфейса. Там изменен этот текст на "Установка приложения...", но немного по-другому. »
Я делал так и текст один был, потому, что не было контента установки - пример пустышка, поэтому надпись не менялась,
как только появляются команды - установщик вносит надписи стандартных команд быстро, отсюда "мелтешь" контента.
Что-то я не пойму почему файл так не работает
File /oname= ${PATH_OUTPUT}\${PRODUCT_OUTPUT_FILE_NAME} ${pkgdir}\${PRODUCT_FILE_NAME}
Все заработало
Почему
Exec "firefox.exe"
не работает?
kotkovets
12-11-2011, 01:08
не работает? »
Потому, что при таком раскладе путь исполнительному файлу ищется в системных путях:
в папке Windows и Windows\system32
Указывайте явный путь к "firefox.exe"
wolkow70
12-11-2011, 14:55
Уважаемый товарищ kotkovets,
Некоторое время назад, преимущественно Вашими усилиями, мы работали над функцией:
Function un.INSTFILES_LEAVE
В общем виде выглядит так:
UninstPage custom un.INSTFILES_LEAVE
Section Uninstall
UnRegDLL "$INSTDIR\DefragglerShell.dll"
;
;-бла-бла-бла
RMDir /r /REBOOTOK "$INSTDIR\"
SetAutoClose true
SectionEnd
Section "Un.Перезагрузка Проводника Windows" RestartExplorer
SectionIn 1
ExecWait 'taskkill /F /IM explorer.exe' $0
DetailPrint "taskkill exit: [ $0 ]"
Sleep 500
StrCmp $0 0 0 +2
Exec "explorer.exe"
Delete "$INSTDIR\DefragglerShell.dll"
RMDir /r "$INSTDIR\"
SectionEnd
;
Function un.INSTFILES_LEAVE
${If} ${FileExists} "$INSTDIR\DefragglerShell.dll"
SetRebootFlag true
${Else}
SetRebootFlag false
${EndIf}
FunctionEnd
Выявилось следующее:
Если удалить программу с использованием данной функции, и затем переустановить снова, то после перезагрузки компьютера файл DefragglerShell.dll (или аналогичный) все равно удаляется физически, так как оказывается прописанным в ключе реестра
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager "PendingFileRenameOperations"
Приводит это к последующей неработоспособности программы.
В данном случае мне не понятно, почему файл прописывается на удаление, если мы сняли флаг перезагрузки?
kotkovets
12-11-2011, 15:28
wolkow70,
RMDir /r /REBOOTOK "$INSTDIR"
не о чем говорит?
wolkow70
12-11-2011, 15:30
не о чем говорит? »
RMDir /r /REBOOTOK "$INSTDIR" »
Говорит о том, что если есть флаг перезагрузки, то удаление выполняется с перезагрузкой, если нет флага, то удаляется без перезагрузки. Или я не прав?
kotkovets
12-11-2011, 15:58
wolkow70,
Говорит о том, что если файл по какой либо причине не удалится, то удалится при перезагрузке.
wolkow70
12-11-2011, 16:03
Говорит о том, что если файл по какой либо причине не удалится, то удалится при перезагрузке. »
То есть, последующая переустановка программы трактуется как "не удаление файла"
(даже, если при этом, при предварительной деинсталляции файл был удален через функцию)?
wolkow70
12-11-2011, 16:34
kotkovets,
Тут еще дело в том, что /REBOOTOK удалять не желательно, так как это относится к стандартной функции удаления, в то время как Function un.INSTFILES_LEAVE - эксперементальная функция. Придется лучше от нее отказаться.
Alexey_KF
12-11-2011, 23:09
Помогите пожалуйста!
есть файл реестра
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Info]
"PackageFeatures"=dword:00000001
как мне добавить эту запись в реестр используя NSIS скрипт?
kotkovets
12-11-2011, 23:43
как мне добавить эту запись в реестр используя NSIS скрипт? »
WriteRegDWORD HKLM "SOFTWARE\ESET\ESET Security\CurrentVersion\Info" "PackageFeatures" 0x1
Читайте Справочник по NSIS (http://forum.oszone.net/thread-168287.html)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC