Показать полную графическую версию : SFX Creator 4 Alpha - создаём SFX архивы
K.A.V.,
Малость почистил ПМ. Скиньте ещё раз.
K.A.V.,
Потестировал оба присланных тестовых варианта и ещё раз попробовал запустить "старый" инсталлятор, скачанный по ссылке в шапке темы. У обоих тестовых вариантов окно инсталлятора сразу же открывается на переднем плане, но если ставлю галочку в чекбоксе лицсоглашения и пытаюсь нажать кнопку "Далее" вместо неё появляется кнопка "Закрыть". Что касается "старого" инсталлятора, т.е. скачанного по ссылке в шапке темы, то при запуске его окно сразу же открывается на заднем плане.
У обоих тестовых вариантов окно инсталлятора сразу же открывается на переднем плане »
Это хорошо, значит так сделаем следующий инсталлер :)
но если ставлю галочку в чекбоксе лицсоглашения и пытаюсь нажать кнопку "Далее" вместо неё появляется кнопка "Закрыть" »
Это так и было задуманно, на то они и тестовые
Целью же было просто выяснить, будет нормально отображаться поверх окон или так же ускакивать на задний план :)
Небольшое обновление до версии 2.6.1
Диалог "Управление проектами"
[+] Самоудаление => переключатель выбора: DLL-метод / Сторонним EXE
[+] Пауза перед патчем
[+] Необходимые привилегии для установки
[+] Заголовок окна инсталлятора
[+] Дополнительные возможности => Создать программу удаления => Команды удаления
[-] Устранены ошибки
atsasinWTF
07-12-2012, 17:51
K.A.V.,
Пожалуйста. сделайте возможность:
Вбивать свой заголовок окна
Убирать иконку
Вставлять свою иконку
http://images.vfl.ru/ii/1354888174/b7ea748e/1341355.jpg (http://images.vfl.ru/ii/1354888173/2d7588e8/1341353.bmp)
atsasinWTF
07-12-2012, 18:28
K.A.V.,
еще , интересует такой момент
создал екзэшник. который устанавливает все в C:\Program Files\bla
нужно, чтобы если запустить снова экзешник - он проверял наличие C:\Program Files\bla\bla.exe и если он есть, то запустил его.
это можно сделать в Вашем креаторе?
если нет, то пожалуйста сделайте возможность создавать подобные условия.
спасибо.
Вбивать свой заголовок окна »
Управление проектами => Заголовок окна инсталлятора
Убирать иконку »
Перед компиляцией (выберите в главном окне программы режим отладки "Только исходники"), отредактируйте главный файл исходник, найдя в нём команду на показ вашего сообщения, там будет строка такого типа:
MessageBox MB_OK|MB_ICONINFORMATION "Моё сообщение"
Удалите константу MB_ICONINFORMATION приведя команду к следующему виду:
MessageBox MB_OK "Моё сообщение"
Вставлять свою иконку »
Не вижу смысла городить огород в коде SFX Creator ради добавления такой сомнительной по важности плюшки, как вставка своих иконок
---
создал екзэшник. который устанавливает все в C:\Program Files\bla
нужно, чтобы если запустить снова экзешник - он проверял наличие C:\Program Files\bla\bla.exe и если он есть, то запустил его.
это можно сделать в Вашем креаторе?
если нет, то пожалуйста сделайте возможность создавать подобные условия »
Это всё частные случаи, которые нужны еденицам, поэтому именно для этого, в шапке темы есть информация в свёрнутом блоке "Устранение проблем/советы/помощь"
atsasinWTF
07-12-2012, 18:53
Перед компиляцией (выберите в главном окне программы режим отладки "Только исходники"), отредактируйте главный файл исходник, найдя в нём команду на показ вашего сообщения, там будет строка такого типа:
Код:
MessageBox MB_OK|MB_ICONINFORMATION "Моё сообщение"
Удалите константу MB_ICONINFORMATION приведя команду к следующему виду:
Код:
MessageBox MB_OK "Моё сообщение" »
может быть так будет правильнее и лучше?
http://images.vfl.ru/ii/1354892814/f1137c86/1341879.jpg (http://images.vfl.ru/ii/1354892813/cafcd195/1341878.png)
K.A.V.,
Попробовал запустить инсталлер новой версии: вроде, прошло нормально - окно открылось на первом плане; в понедельник попробую на других компах. Спасибо!
[+] Необходимые привилегии для установки »
Спасибо за то, что проект развивается...
Хорошо, что теперь не надо вручную добавлять в код привилегии... Хотелось бы еще, не только иметь возможность добавлять в манифест привилегии, но и, чтобы инсталлятор сам определял наличие прав Админа (с отключенным UAC) и выдавал сообщение, что для установки пакета необходимо войти в систему с правами Администратора.
И еще, являясь счастливым обладателем Авиры, замучился отправлять в лабораторию к ним файлы SFX...
Авира очень не любит, когда в манифесте права Админа, когда активирована защита архива от распаковки. После признания ложно-положительного срабатывания и удаления сигнатур из антивирусных баз, все повторяется, стоит добавить в пакет новый файл. Постоянно общаться с Авировцами напрягает, но хуже то, что у потребителя (с Авирой) будет недоверие к пакетам...
Хотелось бы еще, не только иметь возможность добавлять в манифест привилегии, но и, чтобы инсталлятор сам определял наличие прав Админа (с отключенным UAC)...»
И выдёргивал вилку из розетки и гасил свет, если хозяин уснул. :lol:
Здоровый смех - это хорошо... :)
Но даже примитивные сборщики инсталлеров имеют эту функцию:
http://2.firepic.org/2/images/2012-12/08/hnsncp2g5c6q.png (http://firepic.org/)
Очень полезно...
Хотелось бы еще, не только иметь возможность добавлять в манифест привилегии, но и, чтобы инсталлятор сам определял наличие прав Админа (с отключенным UAC) »
Сделаем, не вопрос, возможно даже сегодня сделаю обновление и добавим целую область "Привилегии для установки" в "Управление проектами", там и будет выбор :)
Но даже примитивные сборщики инсталлеров имеют эту функцию: »
Ну не будем же мы сдавать позиции перед примитивными инсталлерами, в ближайшее время устраним данный недостаток
Хотелось бы еще, не только иметь возможность добавлять в манифест привилегии, но и, чтобы инсталлятор сам определял наличие прав Админа (с отключенным UAC) и выдавал сообщение, что для установки пакета необходимо войти в систему с правами Администратора. »
Обновляйтесь, тестируйте (добавил группу настроек в диалоге "Управление проектами")
P.S.
Так же загрузите пакет инсталлятора! Сейчас обновил, там была одна ошибка с удалением файла SelfDel.exe :(
Так же загрузите пакет инсталлятора! Сейчас обновил, там была одна ошибка с удалением файла SelfDel.exe »
Значит ли это, что автоматического обновления не достаточно?
И ещё, обратил внимание на то, что расширять возможности инсталлятора лучше за счет DLL, т.к. на системах имеющих ХИПС, запуск ЕХЕшников перехватывается, что требует дополнительных действий и внимания...
Начинаем капризничать :) А нельзя ли добавить возможность в поле "Типы файлов для кеширования" добавить "Все типы", бывает, что недостает внимания при заполнении этого поля, когда список внушительный, и файлы теряются...
Значит ли это, что автоматического обновления не достаточно
Ошибка была в пакете инсталлятора, т.е. после установки SFX Creator, удалялся файл, чего быть не должно...
Если вы НЕ использовали пакет инсталлятора, а просто обновились через внутреннюю функцию обновления, то всё должно быть впорядке, можете проверить наличие файла SYS\ofiles\SelfDel.exe, данный файл нужен для возможности "Самоудаления" при выборе пункта "Сторонним EXE"
Насчет всех типов файлов в кешировании...
Сделаю, как только починю свой комп, сегодня сломался...
K.A.V., Здорово! Повыбрасывал из кодов лишние, теперь, блоки по определению прав пользователя, которые делал сам.
Проверил на ХР и Семерке - запрос прав Админа работает!
Теперь есть вопрос... У меня в проекте предусмотрена функция "Проверить запущенное приложение", при этом, флажок "Закрывать автоматически (без уведомления пользователя)" - НЕ стоит. Пользователю предлагается вручную выгрузить приложение (автоматике оно не по "зубам"). Оказалось, что при запуске пакета, после предложения выгрузить приложение и его ручной выгрузки, окно с предложением зависает (иногда самопроизвольно отвисает секунд через 40). Это происходит на ХР очень часто. На Семерке делал всего один запуск, глюка не было...
Что делал дальше... Открыл исходники и просмотрел... Не вдаваясь в тонкости кода, абсолютно методом тыка, как и принято у нас, :) выбросил вот эту функцию:
Function EnumProcessCall StrCmp $R3 "$3" 0 nokill ${KillProcess} "$5" $R4 nokill: FunctionEnd
которая располагалась первой, перед функцией определения наличия прав Админа и, далее, Function .onInit
Собрал инсталлятор. Отсутствие части кода компилятор не заметил... Далее, многократные запуски пакета проходили без зависаний, а контрольные запуски старого файла висли по-прежнему...
Если не затруднит, прокомментируйте, пожалуйста, написанное и дайте совет :read:
Limonica
08-12-2012, 20:14
А как в своём скрипте проверить, есть ли права админа или нет?
А как в своём скрипте проверить, есть ли права админа или нет? »
Limonica, В своём, - это в каком? Если это скрипт-исходник SFX Creatorа, то в версии 2.6.1 такая возможность уже есть.
Function GetAccountType
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" okAccountType 0
MessageBox MB_OK|MB_ICONEXCLAMATION `Для установки программы "${PRODUCT_NAME}" необходимо войти в систему с правами Администратора!$\n$\nПрограмма установки завершает свою работу`
quit
okAccountType:
FunctionEnd
Если вас интересуют CMD или VBS, - есть варианты...
Salmo, удалением данной функции из скрипта вы вырезали тот код, который отвечает за определение наличия процесса....Она универсальна и в неё передаются имена процессов по очереди
Какой процесс вы пытаетесь закрыть? Возможно это защищенный системный процесс или процесс антивирусного ПО?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC