|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70, складывать флаги нужно:
intop $R0 ${SF_RO} + ${SF_BOLD} intop $R0 $R0 + ${SF_SELECTED} SectionSetFlags ${Install} "$R0" intop $R0 ${SF_RO} | ${SF_BOLD} intop $R0 $R0 | ${SF_SELECTED} SectionSetFlags ${Install} "$R0" Цитата MKN:
|
|
------- Последний раз редактировалось kotkovets, 12-04-2012 в 11:45. Отправлено: 11:33, 12-04-2012 | #2541 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2373
|
Профиль | Отправить PM | Цитировать kotkovets,
Это я знаю. Но это командная громозда с cmd.exe и т.д. , которой хотелось бы избежать. Неужели нет иных способов ? |
Отправлено: 11:51, 12-04-2012 | #2542 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата MKN:
а че такие вопросы задаешь, думай как - вот тебе подсказка, где можно при следущей перезагрузке прописать, что угодно http://forum.oszone.net/post-1795270-1898.html |
|
------- Отправлено: 12:21, 12-04-2012 | #2543 |
Ветеран Сообщения: 2373
|
Профиль | Отправить PM | Цитировать kotkovets,
takeown.exe - в XP нет, уже не удобство.. в RunOnce я команду удаления тоже прописывал - никакого эффекта... |
Последний раз редактировалось MKN, 13-04-2012 в 12:10. Отправлено: 12:46, 12-04-2012 | #2544 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Над своей задачкой подумал и набросал так:
!include "FileFunc.nsh" ${GetRoot} InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" Section "${PRODUCT_NAME} (установка программы)" Install ; StrCmp $INSTDIR "$PROGRAMFILES\${PRODUCT_NAME}" CheckDisc ParsingXML CheckDisc: ${GetRoot} "$PROGRAMFILES\${PRODUCT_NAME}" $R0 StrCmp $R0 "C:" NoParsing ParsingXML ParsingXML: StrCpy $_FindInFile '$INSTDIR\opera_install_log.xml' ; Заменяем строки в этом файле StrCpy $_LineReplace 'C:\Program Files\Opera' ; Ищем и заменяем ЭТУ строку StrCpy $_LineToInsert '$INSTDIR' ; На что будем заменять Call ReplaceLinesInFile NoParsing: SectionEnd |
------- Отправлено: 12:54, 12-04-2012 | #2545 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70, а вы мастер! с завидной упертостью наступать на одни и те же грабли с метками
![]() StrCmp $INSTDIR "$PROGRAMFILES\${PRODUCT_NAME}" 0 ParsingXML ${GetRoot} "$PROGRAMFILES\${PRODUCT_NAME}" $R0 StrCmp $R0 "C:" NoParsing 0 ParsingXML: StrCpy $_FindInFile '$INSTDIR\opera_install_log.xml' StrCpy $_LineReplace 'C:\Program Files\Opera' StrCpy $_LineToInsert '$INSTDIR' Call ReplaceLinesInFile NoParsing: и че тут вытекает, если я на диск С: ставлю - то не парсится, а у меня системный диск D... какой то киноляп.... |
------- Последний раз редактировалось kotkovets, 12-04-2012 в 13:31. Отправлено: 13:25, 12-04-2012 | #2546 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
![]() Ну сомневаюсь я , что можно в StrCmp ставить рядом условные и безусловные метки. По моему или то или другое (поскольку в справке нет иных примеров). Вы мне подскажите такую весчь: ReadRegStr $R6 HKLM "SOFTWARE\Classes\Applications\Opera.exe\shell\open\command" "" получаем "C:\Program Files\Opera\Opera.exe" "%1" далее ${GetParent} "$R6" "$R7" получаем "C:\Program Files\Opera RMDir /r "$R7" Папка не удаляется. Потому, что кавычки не закрыты. Надо из этого ключа взять папку установки для удаления при переустановке. |
|
------- Отправлено: 13:48, 12-04-2012 | #2547 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
![]() Определяя метки для различных команд, помните, что 0 или пустое значение, означает переход к следующей команде. Цитата wolkow70:
|
||
------- Отправлено: 14:11, 12-04-2012 | #2548 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Push $R6 Push $R7 Push $R8 ReadRegStr $R6 HKLM "SOFTWARE\Classes\Applications\Opera.exe\shell\open\command" "" ${GetParent} "$R6" "$R7" StrCpy $R8 "$R7" "" 1 RMDir /r "$R8" Pop $R8 Pop $R7 Pop $R6 Цитата kotkovets:
Мне не совсем ясно из каких соображений можно имея системный диск D; ставить программу в C:\Program Files\ |
||
------- Отправлено: 14:51, 12-04-2012 | #2549 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70, проще и эффективнее и главное удаляет любой указанный символ,
в начале и в конце строки - независимо от количества символов ReadRegStr `$R6` HKLM "SOFTWARE\Classes\Applications\Opera.exe\shell\open\command" "" ${GetParent} `$R6` `$R6` System::Call 'shlwapi::StrTrim(tR6R6, t""")' MessageBox MB_OK "$R6" IDOK Цитата wolkow70:
а у вас тупо диск С поставлен. то будет при другом раскладе ставлю прогу на диск С в любую папку - не парсится. ставлю в другой системный раздел отличным от диска С, то парсится.... смысл ???? |
|
------- Последний раз редактировалось kotkovets, 12-04-2012 в 15:50. Отправлено: 15:15, 12-04-2012 | #2550 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|