|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Здесь можно прописать? ${If} ${FileExists} "$APPDATA\Opera" System::Call "Shlwapi::PathIsDirectoryEmpty(t'$APPDATA\Opera')i.R0" ${AndIf} $R0 != 1 ${AndIf} ${FileExists} "$APPDATA\Opera\Opera\*.ini" ${OrIf} ${FileExists} "$APPDATA\Opera\Opera\*.adr" ${OrIf} ${FileExists} "$APPDATA\Opera\Opera\*.xml" ${OrIf} ${FileExists} "$APPDATA\Opera\Opera\*.js" ${OrIf} ${FileExists} "$APPDATA\Opera\Opera\*.dat" ${OrIf} ${FileExists} "$APPDATA\Opera\Opera\menu" ${OrIf} ${FileExists} "$APPDATA\Opera\Opera\toolbar" MessageBox MB_YESNOCANCEL|MB_USERICON|MB_TOPMOST "ВНИМАНИЕ!$\n\.... CopyFiles /silent..... |
|
------- Отправлено: 11:05, 19-12-2011 | #2031 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Пробуйте так, но различные указанные расширения, одной командой копирования невозможно по логике вещей.
|
------- Отправлено: 11:23, 19-12-2011 | #2032 |
Пользователь Сообщения: 90
|
Профиль | Отправить PM | Цитировать kotkovets
Хорошее число сообщений: Сообщения: 666 |
------- Отправлено: 11:29, 19-12-2011 | #2033 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата Krinkels:
|
|
------- Отправлено: 11:31, 19-12-2011 | #2034 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
no_backup , если искомое отсутствует, что бы не выводилось MB. Я думал можно как-то так сделать IfFileExists "$APPDATA\Opera\Opera\*.ini *.adr *.xml *.dat " 0 no_backup В логическую конструкцию нельзя переход по метке встроить? |
|
------- Отправлено: 11:47, 19-12-2011 | #2035 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Попробовал, так не пашет.
IfFileExists "$APPDATA\Opera\Opera\*.ini *.adr *.xml *.dat" 0 no_backup |
------- Отправлено: 12:03, 19-12-2011 | #2036 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
Пошел по сложному пути и сделал так для двух типов установки (многопользовательской и однопользовательской): Function .onInit SetShellVarContext current ; IfFileExists "$APPDATA\Opera\Opera\*.ini" message_01 0 IfFileExists "$APPDATA\Opera\Opera\*.adr" message_01 0 IfFileExists "$APPDATA\Opera\Opera\*.xml" message_01 0 IfFileExists "$APPDATA\Opera\Opera\*.dat" message_01 0 IfFileExists "$APPDATA\Opera\Opera\*.js" message_01 0 IfFileExists "$APPDATA\Opera\Opera\sessions" message_01 0 IfFileExists "$APPDATA\Opera\Opera\toolbar" message_01 0 IfFileExists "$APPDATA\Opera\Opera\menu" message_01 0 IfFileExists "$APPDATA\Opera\Opera\user_jscript" message_01 0 IfFileExists "$APPDATA\Opera\Opera\skin" message_01 0 IfFileExists "$APPDATA\Opera\Opera\keyboard" message_01 0 IfFileExists "$APPDATA\Opera\Opera\mouse" message_01 0 ; SetOutPath "$LOCALAPPDATA" IfFileExists "$LOCALAPPDATA\Opera\Opera\mail" message_01 0 IfFileExists "$LOCALAPPDATA\Opera\Opera\cache" message_01 0 goto check_programdir message_01: MessageBox MB_YESNOCANCEL|MB_USERICON|MB_TOPMOST "ВНИМАНИЕ!$\n\ $\nВ профиле текущего Пользователя обнаружены папка, содержащая файлы настроек предыдущей установки Opera. \ $\nПри нажатии кнопки 'Yes' будет выполнено резервное копирование файлов Opera в каталог $DOCUMENTS\Opera Backup. \ $\nПри нажатии кнопки 'No' будет выполнена установка без сохранения резервных копий. Все данные предыдущей установки Opera будут уничтожены . \ $\nПри нажатии кнопки 'Cancel' установка Opera будет отменена. \ $\nВыполнить резервное копирование файлов Opera для их дальнейшего использования ?" /SD IDYES IDNO no_backup IDCANCEL cancel ; CreateDirectory "$DOCUMENTS\Opera Backup\AppData\Opera" CreateDirectory "$DOCUMENTS\Opera Backup\LocalAppData\Opera" ; IfFileExists "$APPDATA\Opera\Opera\*.ini" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\*.ini" "$DOCUMENTS\Opera Backup\AppData\Opera" IfFileExists "$APPDATA\Opera\Opera\*.adr" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\*.adr" "$DOCUMENTS\Opera Backup\AppData\Opera" IfFileExists "$APPDATA\Opera\Opera\*.dat" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\*.dat" "$DOCUMENTS\Opera Backup\AppData\Opera" IfFileExists "$APPDATA\Opera\Opera\*.xml" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\*.xml" "$DOCUMENTS\Opera Backup\AppData\Opera" IfFileExists "$APPDATA\Opera\Opera\*.js" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\*.js" "$DOCUMENTS\Opera Backup\AppData\Opera" IfFileExists "$APPDATA\Opera\Opera\sessions" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\sessions" "$DOCUMENTS\Opera Backup\AppData\Opera\sessions" IfFileExists "$APPDATA\Opera\Opera\toolbar" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\toolbar" "$DOCUMENTS\Opera Backup\AppData\Opera\toolbar" IfFileExists "$APPDATA\Opera\Opera\menu" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\menu" "$DOCUMENTS\Opera Backup\AppData\Opera\menu" IfFileExists "$APPDATA\Opera\Opera\user_jscript" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\user_jscript" "$DOCUMENTS\Opera Backup\AppData\Opera\user_jscript" IfFileExists "$APPDATA\Opera\Opera\skin" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\skin" "$DOCUMENTS\Opera Backup\AppData\Opera\skin" IfFileExists "$APPDATA\Opera\Opera\keyboard" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\keyboard" "$DOCUMENTS\Opera Backup\AppData\Opera\keyboard" IfFileExists "$APPDATA\Opera\Opera\mouse" 0 +2 CopyFiles /silent "$APPDATA\Opera\Opera\mouse" "$DOCUMENTS\Opera Backup\AppData\Opera\mouse" ; IfFileExists "$LOCALAPPDATA\Opera\Opera\mail" 0 +2 CopyFiles /silent "$LOCALAPPDATA\Opera\Opera\mail" "$DOCUMENTS\Opera Backup\LocalAppData\Opera\mail" IfFileExists "$LOCALAPPDATA\Opera\Opera\cache" 0 +2 CopyFiles /silent "$LOCALAPPDATA\Opera\Opera\cache" "$DOCUMENTS\Opera Backup\LocalAppData\Opera\cache" ; goto check_programdir check_programdir: SetShellVarContext all SetOutPath "$INSTDIR" IfFileExists "$INSTDIR\Profile\*.ini" message_02 0 IfFileExists "$INSTDIR\Profile\*.adr" message_02 0 IfFileExists "$INSTDIR\Profile\*.xml" message_02 0 IfFileExists "$INSTDIR\Profile\*.dat" message_02 0 IfFileExists "$INSTDIR\Profile\*.js" message_02 0 IfFileExists "$INSTDIR\Profile\sessions" message_02 0 IfFileExists "$INSTDIR\Profile\toolbar" message_02 0 IfFileExists "$INSTDIR\Profile\menu" message_02 0 IfFileExists "$INSTDIR\Profile\user_jscript" message_02 0 IfFileExists "$INSTDIR\Profile\skin" message_02 0 IfFileExists "$INSTDIR\Profile\keyboard" message_02 0 IfFileExists "$INSTDIR\Profile\mouse" message_02 0 IfFileExists "$INSTDIR\Profile\mail" message_02 0 IfFileExists "$INSTDIR\Profile\cache" message_02 0 goto no_backup message_02: MessageBox MB_YESNOCANCEL|MB_USERICON|MB_TOPMOST "ВНИМАНИЕ!$\n\ $\nВ директории назначения обнаружена папка с профилем программы, содержащая файлы настроек предыдущей установки Opera. \ $\nПри нажатии кнопки 'Yes' будет выполнено резервное копирование файлов Opera в каталог $DOCUMENTS\Opera Backup. \ $\nПри нажатии кнопки 'No' будет выполнена установка без сохранения резервных копий. Все данные предыдущей установки Opera будут уничтожены . \ $\nПри нажатии кнопки 'Cancel' установка Opera будет отменена. \ $\nВыполнить резервное копирование файлов Opera для их дальнейшего использования ?" /SD IDYES IDNO no_backup IDCANCEL cancel ; CreateDirectory "$DOCUMENTS\Opera Backup\Opera\profile" ; IfFileExists "$INSTDIR\Profile\*.ini" 0 +2 CopyFiles /silent "$INSTDIR\Profile\*.ini" "$DOCUMENTS\Opera Backup\Opera\profile" IfFileExists "$INSTDIR\Profile\*.adr" 0 +2 CopyFiles /silent "$INSTDIR\Profile\*.adr" "$DOCUMENTS\Opera Backup\Opera\profile" IfFileExists "$INSTDIR\Profile\*.dat" 0 +2 CopyFiles /silent "$INSTDIR\Profile\*.dat" "$DOCUMENTS\Opera Backup\Opera\profile" IfFileExists "$INSTDIR\Profile\*.xml" 0 +2 CopyFiles /silent "$INSTDIR\Profile\*.xml" "$DOCUMENTS\Opera Backup\Opera\profile" IfFileExists "$INSTDIR\Profile\*.js" 0 +2 CopyFiles /silent "$INSTDIR\Profile\*.js" "$DOCUMENTS\Opera Backup\Opera\profile" IfFileExists "$INSTDIR\Profile\sessions" 0 +2 CopyFiles /silent "$INSTDIR\Profile\sessions" "$DOCUMENTS\Opera Backup\Opera\profile\sessions" IfFileExists "$INSTDIR\Profile\toolbar" 0 +2 CopyFiles /silent "$INSTDIR\Profile\toolbar" "$DOCUMENTS\Opera Backup\Opera\profile\toolbar" IfFileExists "$INSTDIR\Profile\menu" 0 +2 CopyFiles /silent "$INSTDIR\Profile\menu" "$DOCUMENTS\Opera Backup\Opera\profile\menu" IfFileExists "$INSTDIR\Profile\user_jscript" 0 +2 CopyFiles /silent "$INSTDIR\Profile\user_jscript" "$DOCUMENTS\Opera Backup\Opera\profile\user_jscript" IfFileExists "$INSTDIR\Profile\skin" 0 +2 CopyFiles /silent "$INSTDIR\Profile\skin" "$DOCUMENTS\Opera Backup\Opera\profile\skin" IfFileExists "$INSTDIR\Profile\keyboard" 0 +2 CopyFiles /silent "$INSTDIR\Profile\keyboard" "$DOCUMENTS\Opera Backup\Opera\profile\keyboard" IfFileExists "$INSTDIR\Profile\mouse" 0 +2 CopyFiles /silent "$INSTDIR\Profile\mouse" "$DOCUMENTS\Opera Backup\Opera\profile\mouse" IfFileExists "$INSTDIR\Profile\mail" 0 +2 CopyFiles /silent "$INSTDIR\Profile\mail" "$DOCUMENTS\Opera Backup\Opera\profile\mail" IfFileExists "$INSTDIR\Profile\cache" 0 +2 CopyFiles /silent "$INSTDIR\Profile\cache" "$DOCUMENTS\Opera Backup\Opera\profile\cache" goto no_backup cancel: Abort no_backup: FunctionEnd |
------- Отправлено: 15:22, 19-12-2011 | #2037 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70, Слишком сложно и много лишнего...
А если у меня будет профиль в папке программы и профиль в $APPDATA и $LOCALAPPDATA ??? |
------- Отправлено: 16:36, 19-12-2011 | #2038 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
goto check_programdir check_programdir: После проверки и копирования профиля в $APPDATA и $LOCALAPPDATA в "Мои документы" функция переходит в программную папку и резервирует папку profile, если в ней есть нужные файлы в "Общие документы". Я гипотетически исходил из того, что такое может у кого-то случится. В контексте всего скрипта эта функция не кажется сложной или содержащей что-то лишнее. Всего лишь маленькая часть. |
|
------- Отправлено: 16:58, 19-12-2011 | #2039 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 17:17, 19-12-2011 | #2040 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|