|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 16:26, 23-06-2011 | #1281 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать начитавшись, я правильно понял, что невозможно "выдрать" скрипт из инсталлятора ?
|
Отправлено: 15:03, 28-06-2011 | #1282 |
Misanthrope Сообщения: 474
|
Профиль | Отправить PM | Цитировать sk07, да, правильно
|
------- Отправлено: 15:11, 28-06-2011 | #1283 |
Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать Не могу разобраться с логикой.
В случае повторной установки (поверх), нужно что бы один файл не переписывался заново и тем более не удалялся, а сохранялся под новым именем. Что то вроде этого, но не могу понять, как взять именно последнюю цифру -- |
Последний раз редактировалось sawe, 04-07-2011 в 21:32. Отправлено: 21:25, 04-07-2011 | #1284 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 21:50, 04-07-2011 | #1285 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата sawe:
Цитата sawe:
Цитата sawe:
|
|||
------- Отправлено: 22:12, 04-07-2011 | #1286 |
Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать |
Отправлено: 22:22, 04-07-2011 | #1287 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата sawe:
OutFile "setup.exe" !include "logiclib.nsh" ShowInstDetails show Section #****************************************************************************************** StrLen $2 "Текстовый документ_old_" ;получаем число символов для поиска по маске StrLen $6 "Текстовый документ_old_1.txt" ;получаем число символов до old_9 StrLen $7 "Текстовый документ_old_100.txt" ;получаем число символов до old_1000 #****************************************************************************************** ${If} ${FileExists} "$EXEDIR\Текстовый документ.txt" Rename "$EXEDIR\Текстовый документ.txt" "$EXEDIR\Текстовый документ_old.txt" ${ElseIf} ${FileExists} "$EXEDIR\Текстовый документ_old.txt" Rename "$EXEDIR\Текстовый документ_old.txt" "$EXEDIR\Текстовый документ_old_1.txt" ${Else} FindFirst $0 `$1` "$EXEDIR\*.txt" ;ищем все файлы с расширением txt ${DoUntil} `$1` == `` ;в переменную $1 получаем в цикле имена файлов StrCpy `$3` `$1` $2 ;берем $2 символов с получаемых имен файлов и результат в $3 ${If} `$3` == "Текстовый документ_old_" ;сравниваем результат по маске StrLen $5 `$1` ;получаем число символов из файла ${IfThen} $5 <= $6 ${|}StrCpy $4 `$1` 1 -5${|} ;если $4 < old_9 берем 1 символ ${IfThen} $5 > $6 ${|}StrCpy $4 `$1` 2 -6${|} ;если $4 > old_9 берем 2 символа ${IfThen} $5 >= $7 ${|}StrCpy $4 `$1` 3 -7${|} ;если $4 > old_99 берем 3 символа IntOp $4 $4 + 1 Rename "$EXEDIR\$1" "$EXEDIR\$3$4.txt" DetailPrint "$3$4.txt" ${Break} ; выход из цикла ${EndIf} FindNext $0 $1 ${Loop} FindClose $0 ${EndIf} SectionEnd |
|
------- Последний раз редактировалось kotkovets, 05-07-2011 в 01:16. Отправлено: 01:10, 05-07-2011 | #1288 |
Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать Спасибо, что откликнулись!
kotkovets Не совсем то, пример работает только с одним файлом, старые не сохраняет, но мысль понятна, остальное сам доведу. И ещё один вопрос, используя MUI2 - nsDialog, уже в готовом и отлаженом скрипте, что бы его не уродовать, хотелось бы простым способом заглушить CheckBox. Что бы CheckBox был отмечен, и пользователь не мог выбрать действие. В InstallOptions это легко реализуется установкой флага, в nsDialog это намного сложнее. |
Отправлено: 01:55, 05-07-2011 | #1289 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата sawe:
InstallOptions - устаревшая вещь, nsDialogs намного больше возможностей, а если еще в паре с system.dll, можно делать почти всё - средствами Win API OutFile "winreview.exe" ShowInstDetails show Var Dialog Var CheckBox Function fnCustomInit nsDialogs::Create 1018 Pop $Dialog ${NSD_CreateCheckBox} 0 45u 120u 10u "Нельзя отметить флажком" Pop $CheckBox ${NSD_SetState} $CheckBox 1 ;отмеченный чебокс EnableWindow $CheckBox 0 ;глушим чебокс nsDialogs::Show FunctionEnd Function fnCustomDestroy ${NSD_GetState} $CheckBox $0 FunctionEnd Section StrCmp $0 1 0 +2 MessageBox MB_ICONINFORMATION|MB_OK "чебокс отмеченный" IDOK SectionEnd |
|
------- Отправлено: 03:46, 05-07-2011 | #1290 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|