Написание скрипта для инсталлятора

  • Автор темы Kindly
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest_

... это действует на процесс установки всех файлов...
 
G

Guest_

Такой ещё вопрос:
Установил я какой-то компонент при выборочной установке. Затем, через некоторое время, решил, что надо бы ещё из списка установить компонент. Идёт процесс установки второго компонента, и тут я нажимаю кнопу "Отмена"... Пошёл откат (Rollback)... Самое паршивое, что этим убивается и заранее установленный компонент... Как избежать того, чтобы при отмене установки какого-то компонента не удалялся заранее установленный компонент?

Есть, конечно, по этому поводу мысли о пихании инфы в реестр после каждой установки компонента, но вдруг кто-нибудь нашёл поинтереснее схему?
 
Z

zubr

Установил я какой-то компонент при выборочной установке. Затем, через некоторое время, решил, что надо бы ещё из списка установить компонент. Идёт процесс установки второго компонента, и тут я нажимаю кнопу "Отмена"... Пошёл откат (Rollback)... Самое паршивое, что этим убивается и заранее установленный компонент... Как избежать того, чтобы при отмене установки какого-то компонента не удалялся заранее установленный компонент?
Точно не уверен (не смотрел), но по моему копирование файлов на диск производится на самом последнем этапе, так что возможно, когда вы нажимаете Отмена, еще на диске ничего и не было.
 
G

Guest_

To Zubr:

Вы меня не поняли, видимо. Суть такая: установил я какой-то компонент программы, пользовался им некоторое время, затем мне понадобилось установить какой-то другой компонент вдобавок из того же install.exe. А вопрос в следующем: как сделать так, чтобы при повторном запуске install'a и затем нажатии кнопки Отмена не удалялись компоненты, установленные и использовавшиеся мной после первой инсталляции...
 
G

Guest_

замену значения "This installation was built with Inno Setup: в поле "Комментарий" можно произвести без всяких ухищрений программой-редактором ресурсов Restorator.
 
G

Guest_

и вновь вопрос: как отменить деинсталяцию в случае, если один из установленных файлов используется?
 
K

Kindly

Guest_Юрий_*
замену значения "This installation was built with Inno Setup: в поле "Комментарий" можно произвести без всяких ухищрений программой-редактором ресурсов Restorator.
Я не знаю, какую версию вы используете, но в версии 5.14 внесение любых изменений чревато сообщением о поврежденном инсталляторе, и в FAQ ясно написано, что сам инсталлятор имеет проверку изменения собственной CRC суммы :D .
 
K

Kindly

Guest_Юрий_*
После создания посредством Inno Setup, в свойствах файла инсталлятора на закладке "Версия" поле "Авторские права" остаётся незаполненным. Каким образом его можно заполнить?
Насчет авторских прав не знаю но версию можно изменить так:
[Setup]
VersionInfoVersion=1.5.0.0
 
G

Guest_

To Kindly:

5.14 (ISSP 5.1.2.0)...
доверяй, но проверяй :D раз на раз не приходится... иногда и вылезает нечто типа "The setup files are corrupted. Please obtain a new copy of the program"..

VersionInfoVersion эт да, имына так и делается... А комменты и авторское право отключены автором...
 
G

Guest

To Zubr:

Из FAQ для Inno Setup:
Вопрос: Что именно происходит, если пользователь нажмет Cancel в процессе установки?
Ответ: При нажатии Cancel инсталятор отменяет изменения, сделанные им в ходе установки, почти как деинсталятор при удалении программы. Поэтому частично установленное приложение не останется в системе пользователя.

В этом-то мой вопрос и состоит, как избежать того, о чём говорится в ответе FAQ...
 
K

Kindly

zubr
Требуется поместить CheckBox на панель выбора директории для установки, допустим под строкой отображаемого пути и задать ему выполнение, например, включение/отключение функции MyProgCheck.
Похоже, неправильно дал пояснение... Имеется в виду, что функция, которая должна выполнятся через CheckBox, должна выполняться непосредственно при установке - не сразу, на подобии выбора компонентов. Такое можно проделать?
 
Z

zubr

Я не знаю, какую версию вы используете, но в версии 5.14 внесение любых изменений чревато сообщением о поврежденном инсталляторе, и в FAQ ясно написано, что сам инсталлятор имеет проверку изменения собственной CRC суммы .
Пришлите мне свой инсталлятор, я его пропатчу.
 
Z

zubr

Похоже, неправильно дал пояснение... Имеется в виду, что функция, которая должна выполнятся через CheckBox, должна выполняться непосредственно при установке - не сразу, на подобии выбора компонентов. Такое можно проделать?
Можно, будет время кину код.
Из FAQ для Inno Setup:
Вопрос: Что именно происходит, если пользователь нажмет Cancel в процессе установки?
Ответ: При нажатии Cancel инсталятор отменяет изменения, сделанные им в ходе установки, почти как деинсталятор при удалении программы. Поэтому частично установленное приложение не останется в системе пользователя.

В этом-то мой вопрос и состоит, как избежать того, о чём говорится в ответе FAQ...
Ну так глубоко я не копал. Сейчас у меня срочная работа, разгребусь, посмотрю.
 
Z

zubr

Вот пропатченный файл инсталлятора:
 

Вложения

  • setup.zip
    255,6 КБ · Просмотры: 362
K

Kindly

Извиняюсь... Не прав был. Оказывается можно в свойствах файла применить акт "вандализма", только аккуратно (желательно сохранять количество символов в строке). Ну, буду исправляться:D:

В Resource Hacker-e для отображения авторских прав нужно вставить в ресурсе "Version Info" под строкой:
VALUE "InternalName"
следующее:
VALUE "LegalCopyright", "My Rights" \\где My Rights - типа авторство

Чтобы сделать русский язык в свойствах пишем там же вместо

VALUE "Translation", 0x0409 0x04E4
=>
VALUE "Translation", 0x0419 0x04E4

Производитель:
VALUE "CompanyName", "Заполняем пустые поля"

Или так:

VALUE "Автор инсталлятора", "I'm"

p.s. а проверка на изменение все-таки есть, только, видимо, не такая чувствительная.
p.p.s. удаление контекста "About..." забавно, но в "пропатченом" инсталляторе этого не наблюдалось.
 
K

Kindly

Может, следующий вопрос из-за моей невнимательности, но тем не менее.
Ярлыки, создаваемые в меню "Пуск" зачастую (особенно если их много) могут быть расформированы как угодно. Вопрос: можно ли конкретно задать размещение ярлыков в панели "Пуск" в определенном порядке?
 
G

Guest_

очень захотелось "убить" MessageBox, предупреждающий об удалении файлов перед деинсталляцией, а именно "Are you sure you want to completely remove %1 and all of its components?"... Как сделать так, чтобы подтвержения на удаление не требовалось (соответственно и окно требования подтвержения не появлялось)?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!