|
Setup в Setup-е + "перезагрузить компьютер сейчас" из внутреннего Setup
|
|||
---|---|---|---|
#18+
Для установки проги использую следующую конструкцию Setup2 в Setup1: Setup1 (не имеет uninstaller-а) 1) Распаковывает в %temp%\proga файлы : setup2.exe, preinst.exe + чего-то еще 2) Запускает preinst.exe и ждет его завершения 3) Удаляет папку %temp%\proga что установлена в пункте 1) со всем содержимым командой Код: plaintext
preinst.exe (процедуры, выполняемые перед Setup2) 1) Запускается 2) Чего-то делает, напр. разбирается с пред.версией, устанавливает .NET Framework и т.д. 3) Если user все сделал как надо в п.2) запускает основной setup2.exe, при этом ждет завершения setup2 4) Выходит setup2.exe (собственно инсталлер) Почему так сложно, объяснять долго, но суть в чем: На момент работы Setup2 его контролирует preinst.exe, а его в свою очередь ждет setup1. Setup1 должен подчистить %temp%\proga В Setup2 есть в конце стандартная опция 1) перегрузить сейчас (вообще говоря это надо) 2) перегрузить позже Если "позже", то все всегда срабатывает, т.е. %temp%\proga удаляется (ради чего все навороты) Если "перегрузить сейчас ", то на Win7/Vista -все корректно, а на XP/2003 может быть проблемка : 1) кратковременное появление системного msg что cmd не сработала 2) ну и (возможно,не обязательно) не удаление %temp%\proga Т.е. конструкция не успевает до-работать , когда уже дана команда Reboot из внутреннего основного Setup2 Setup2 это та матрешка, кот. внутри всех остальных. Setup1; Setup2 - Smart Install Maker preinst.exe - прога на VB6 Что можно придумать (в алгоритме, на VB6 и т.п.)? %temp%\proga -этот мусор оставлять в системе неохота ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2011, 10:13 |
|
Setup в Setup-е + "перезагрузить компьютер сейчас" из внутреннего Setup
|
|||
---|---|---|---|
#18+
Дмитрий77Setup2 это та матрешка, кот. внутри всех остальных... %temp%\proga -этот мусор оставлять в системе неохота Короче убрал я эту вложенность и получилось: Setup1 1) Распаковывает в %temp%\proga файлы : setup2.exe, preinst.exe + чего-то еще 2) Запускает preinst.exe 3) Выходит preinst.exe 1) делает дела 2) запускает setup2 (если сочтет нужным) 3) выходит Setup2 1) устанавливает прогу 2) выходит Сама прога при первом запуске делает: Код: plaintext 1. 2. 3. 4. 5.
В принципе это разумно, зачем устанавливать прогу, если ее не запускать, при первом запуске "мусор" сотрется. Хотя... >запускает setup2 (если сочтет нужным) а если не сочтет нужным? а если setup1 или setup2 будет отменен пользователем? Тогда у него в temp будет лежать 30МБ лишнего "мусора"... Хотя-ерунда наверно. Я тут не такое видел: Скачиваю очередной билд очень известной раскрученной проги и не заметил, что в силу идиотской!!! ошибки разработчиков, а именно default_path установлен как \Program Files(x86) вместо обычного \Program Files(x86)\bla-bla-bla\la-la-la ее значит устанавливаю. Потом решил честно удалить через Uninstall. Короче половина Windows 7 x64 была снесена в одно действие без возможности нормального восстановления системы. Система слава богу была тестовая и пустая. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2011, 13:48 |
|
|
start [/forum/topic.php?fid=60&fpage=104&tid=2158834]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
95ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 337ms |
total: | 522ms |
0 / 0 |