|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Если так сделать?
${If} ${RunningX64} ${If} $GMODE = 0 ${AndIf} ${Silent} ${AndIf} ${FileExists} "$INIFILE" ClearErrors ReadINIStr "$R0" "$INIFILE" "DIRECTORY" "INSTALLDIR" ${WordReplace} $R0 "%programfiles%" "$PROGRAMFILES64" "+" $R1 ${WordReplace} $R1 "%windir%" "$WINDIR" "+" $R0 ${WordReplace} $R0 "%appdata%" "$APPDATA" "+" $R1 ${WordReplace} $R1 "%systemdrive%" "$SysDrive" "+" $R0 StrCpy $INSTDIR $R0 ${EndIf} ${Else} ${If} $GMODE = 0 ${AndIf} ${Silent} ${AndIf} ${FileExists} "$INIFILE" ClearErrors ReadINIStr "$R0" "$INIFILE" "DIRECTORY" "INSTALLDIR" ${WordReplace} $R0 "%programfiles%" "$PROGRAMFILES" "+" $R1 ${WordReplace} $R1 "%windir%" "$WINDIR" "+" $R0 ${WordReplace} $R0 "%appdata%" "$APPDATA" "+" $R1 ${WordReplace} $R1 "%systemdrive%" "$SysDrive" "+" $R0 StrCpy $INSTDIR $R0 ${EndIf} ${EndIf} |
------- Последний раз редактировалось wolkow70, 17-06-2012 в 10:59. Отправлено: 17:06, 16-06-2012 | #2781 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
$PROGRAMFILES, $PROGRAMFILES32, $PROGRAMFILES64 The program files directory (usually C:\Program Files but detected at runtime). On Windows x64, $PROGRAMFILES and $PROGRAMFILES32 point to C:\Program Files (x86) while $PROGRAMFILES64 points to C:\Program Files. Use $PROGRAMFILES64 when installing x64 applications. Поэтому расписываю отдельно. |
|
------- Отправлено: 10:58, 17-06-2012 | #2782 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Вот еще интересно:
Насколько оправдано использование хедера MoveFileFolder? http://nsis.sourceforge.net/MoveFileFolder Имеет ли он какие либо преимущества перед коммандой Rename $INSTDIR\file.ext $INSTDIR\file.dat ? |
------- Последний раз редактировалось wolkow70, 17-06-2012 в 11:34. Отправлено: 11:29, 17-06-2012 | #2783 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
вложенные каталоги с файлами. |
|
------- Отправлено: 12:00, 17-06-2012 | #2784 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
Существует ли какой-либо сопособ (плагин например) разлочить занятый эксплорером файл. Например по пиду процесса (подобно анлокеру). Выясняется, что залоченный файл RarExt.dll (или аналогичные) можно в процессе деинсталляции переименовать напрмер в RarExt.dll.0.tmp переместив в папку TEMP, и удалить программную папку без перезагрузки. Это дает возможность сразу переустановить программу без перезагрузки. Но хочется уже в папке TEMP как-то добить этой файл, так как его удаление требует все-равно перезагрузки или перезапуска экспорера. Еще задачка перед перемещением файла проверить временную папку на наличие файла с таким же именем, и если есть то переименовать RarExt.dll.0.tmp в RarExt.dll.(номер).tmp и задать комманду на удаление. |
------- Отправлено: 12:15, 17-06-2012 | #2785 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать загруженная в оболочку проводника делка работает по пидом проводника.
Остальное, что вы пишите и видете - просто скрытие от глаз, что типа библиотека удаляется... (хотя можно удалить физически файл, но это зависит от разработчика библиотеки, какие функции он всунул при разрегистации библиотеки) в оперативной памяти загруженная библиотека остается, до перезагрузки компа/оболочки. вообще это оффтоп, поэтому обсуждение не хочу продолжать - написал так, как я считаю. |
------- Отправлено: 12:41, 17-06-2012 | #2786 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать del
|
Последний раз редактировалось Ivn78, 17-06-2012 в 13:54. Отправлено: 13:33, 17-06-2012 | #2787 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 13:53, 17-06-2012 | #2788 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать kotkovets,
ага, а макрос в какую часть кода лучше вставить? в начало? |
Отправлено: 15:00, 17-06-2012 | #2789 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
Подскажите плиз где ошибка в функции - счетчик не меняет значения Function un.RarExt Push $2 Push $1 Push $0 ; ${If} ${FileExists} "$INSTDIR\RarExt.dll.0.tmp" StrCpy $2 0 FindFirst $0 `$1` "$INSTDIR\RarExt*" ${Do} IntOp $2 $2 + 1 FindNext $0 `$1` ${LoopUntil} $1 == `` FindClose $0 ${If} $2 != 0 !insertmacro MoveFile "$INSTDIR\RarExt.dll" "$INSTDIR\RarExt.dll.$2.tmp" ${EndIf} ${Else} !insertmacro MoveFile "$INSTDIR\RarExt.dll" "$INSTDIR\RarExt.dll.0.tmp" ${EndIf} ; Pop $0 Pop $1 Pop $2 FunctionEnd |
------- Отправлено: 15:01, 17-06-2012 | #2790 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|