Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 7]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 7]

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:

Показать/скрыть: Ссылки на примеры скриптов:

Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Скрипты Inno Setup. Помощь и советы [часть 6]

Отправлено: 11:48, 10-03-2014

 

Пользователь


Сообщения: 149
Благодарности: 38

Профиль | Отправить PM | Цитировать


Цитата habib2302:
это точно не сработает. да и команда dir не работает даже при обычной установке »
во-первых, почему это не сработает? вы проверяли?
а во-вторых, вы код вообще смотрели? в каком месте там команда dir?
я порекомендовала это:
Код: Выделить весь код
WizardForm.DirEdit.Text := ExpandConstant('{pf}\{#MyAppName}');
это обычное присвоение, где WizardForm.DirEdit - поле объекта формы установщика, содержащее путь установки вашего приложения. и конструкция эта прекрасно работает и при обычной установке и при тихой.

Отправлено: 00:55, 17-01-2015 | #2321



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для habib2302

Ветеран


Сообщения: 862
Благодарности: 102

Профиль | Отправить PM | Цитировать


Shkutu, ну вот мой код который на данный момент стоит
Скрытый текст
Код: Выделить весь код
Procedure CurPageChanged(CurPageID: Integer);
Begin
  Case CurPageID of
       wpFinished:
        begin
      if IsTaskSelected('ic\taskbar') then
        PinToTaskbar(ExpandConstant('{app}\{#MyAppExeName}'), True);
      if IsTaskSelected('ic\startmenu') then
        PinToStartMenu(ExpandConstant('{app}\{#MyAppExeName}'), True);
    end;
  wpSelectTasks:
     if IsComponentSelected('BSOD\I') then
  begin
    WizardForm.NextButton.Caption:= SetupMessage(msgButtonInstall);
  end;
  wpSelectDir: if WizardForm.Tag = 1 then

  begin
    WizardForm.SelectDirPage.Notebook.ActivePage:= WizardForm.SelectComponentsPage;
    WizardForm.PageNameLabel.Caption:= SetupMessage(msgWizardSelectComponents);
    WizardForm.Hint:= WizardForm.PageDescriptionLabel.Caption; // запомнить SetupMessage(msgSelectDirDesc)
    WizardForm.PageDescriptionLabel.Caption:= SetupMessage(msgSelectComponentsDesc);
  end;
  wpSelectComponents: if WizardForm.Tag = 1 then
  begin
    WizardForm.SelectComponentsPage.Notebook.ActivePage:= WizardForm.SelectDirPage;
    WizardForm.DiskSpaceLabel.Caption:= WizardForm.ComponentsDiskSpaceLabel.Caption;
    WizardForm.PageNameLabel.Caption:= SetupMessage(msgWizardSelectDir);
    WizardForm.PageDescriptionLabel.Caption:= WizardForm.Hint; // иначе вместо названия программы [name]
    if not WizardSilent then
    if IsComponentSelected('BSOD\I') then
  begin
    WizardForm.DirEdit.Text :=(ExpandConstant('{#SetupSetting("DefaultDirName")}'))
  end else
      if not WizardSilent then
      if IsComponentSelected('BSOD\P') then
  begin
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#MyAppName} Portable'
    WizardForm.NextButton.Caption:= SetupMessage(msgButtonInstall);
  end;
  end;
 end;
end;

вот и сделайте как вы говорили. а вообще мне кажется проблема из-за кода для смены страниц местами

-------
Помог? От "Полезное сообщение" не откажусь!!!


Последний раз редактировалось habib2302, 17-01-2015 в 11:56.


Отправлено: 10:14, 17-01-2015 | #2322


Новый участник


Сообщения: 15
Благодарности: 1

Профиль | Отправить PM | Цитировать


Не нашел я нормально рабочего скрипта на счет redist.

Кто какими пользуется, скиньте пожалуйста)

Отправлено: 12:34, 17-01-2015 | #2323


Аватара для Shift85

Старожил


Сообщения: 399
Благодарности: 82

Профиль | Отправить PM | Цитировать


Цитата StongCool:
Не нашел я нормально рабочего скрипта на счет redist. »
StongCool, Плохо искал.

Вот через секцию код + ISDone:

Код: Выделить весь код
procedure Soft(CurStep: TSetupStep);
var res: integer;
begin
if (CurStep = ssPostInstall) and not ISDoneError then begin
  if BtnGetChecked(SoftCheck) then begin
    MainLabel.Left:= ScaleX(0);
    MainLabel.Caption:=ExpandConstant('{cm:SoftInstall1}');
    StatusLabel.Caption:=ExpandConstant('{cm:Status3}');
    BtnSetEnabled(hCancelBtn, False);
    Exec(ExpandConstant('{src}\Redist\DirectX\DXSETUP.exe'), '/silent', ExpandConstant('{src}'), SW_SHOW, ewWaitUntilTerminated, Res);
    Exec(ExpandConstant('{src}\Redist\VC\vcredist_x86.exe'), '/Q', ExpandConstant('{src}'), SW_SHOW, ewWaitUntilTerminated, Res);
  end;
end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:10, 17-01-2015 | #2324


Пользователь


Сообщения: 149
Благодарности: 38

Профиль | Отправить PM | Цитировать


habib2302, в вашем коде вообще не прописана ветка, где WizardSilent=true, и не работает именно из-за этого, я думаю.
Код: Выделить весь код
wpSelectComponents: if WizardForm.Tag = 1 then
  begin
    WizardForm.SelectComponentsPage.Notebook.ActivePage:= WizardForm.SelectDirPage;
    WizardForm.DiskSpaceLabel.Caption:= WizardForm.ComponentsDiskSpaceLabel.Caption;
    WizardForm.PageNameLabel.Caption:= SetupMessage(msgWizardSelectDir);
    WizardForm.PageDescriptionLabel.Caption:= WizardForm.Hint; // иначе вместо названия программы [name]
    if not WizardSilent then
    if IsComponentSelected('BSOD\I') then
  begin
    WizardForm.DirEdit.Text :=(ExpandConstant('{#SetupSetting("DefaultDirName")}'))
  end  else
      if not WizardSilent then
      if IsComponentSelected('BSOD\P') then
  begin
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#MyAppName} Portable'
    WizardForm.NextButton.Caption:= SetupMessage(msgButtonInstall);
  end;
По поводу как надо, я тоже уже писала. Собственно, этот кусок я и переписывала в своем посте http://forum.oszone.net/post-2457093-2313.html. Но судя по всему вам лень не только пробовать, что вам советуют, но даже просто читать, что вам отвечают. Правда в этом случае, уж извините за резкость, вообще непонятно, зачем вы тут вопросы задаете.

Отправлено: 18:08, 17-01-2015 | #2325


Аватара для habib2302

Ветеран


Сообщения: 862
Благодарности: 102

Профиль | Отправить PM | Цитировать


Shkutu, мне уже дали код в krinkels
Код: Выделить весь код
function ParamExists(S: String): Boolean;
var
  i: Integer;
begin
  Result:= False;
  for i:= 0 to ParamCount() do begin
    if Pos('/'+Uppercase(S), Uppercase(ParamStr(i))) > 0 then begin
      Result:= true;
      Break;
    end;
  end;
end;

function GetCmdDirValue(): String;
var
  i: Integer;
begin
  Result:= '';
  for i:= 0 to ParamCount() do begin
    if (Pos('/DIR', Uppercase(ParamStr(i))) > 0) then begin
      Result:= Copy(ParamStr(i), 6, Length(ParamStr(i)));
      StringChange(Result, 'expand:', '');
      StringChange(Result, 'EXPAND:', '');
      Result:= ExpandConstant(Result);
      Break;;
    end;
  end;
end;

***
if (ParamExists('dir')) then
  WizardForm.DirEdit.Text:= GetCmdDirValue();
***
но куда пихать
Код: Выделить весь код
if (ParamExists('dir')) then
  WizardForm.DirEdit.Text:= GetCmdDirValue();

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 19:24, 17-01-2015 | #2326


Новый участник


Сообщения: 15
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png 2015-01-18_012558.png
(23.3 Kb, 14 просмотров)

Как сделать нижнею панель прозрачной?

Отправлено: 01:30, 18-01-2015 | #2327


Аватара для kotyarko@fb

Старожил


Сообщения: 212
Благодарности: 92

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip ISWin7_v0.5.zip
(36.3 Kb, 8 просмотров)

Цитата StongCool:
Как сделать нижнею панель прозрачной? »

Пример прикрепил (взят с Krinkels).

-------
http://forum.worldoftanks.ru/topic/1429925-/
Исходник моего установщика: https://bitbucket.org/Kotyarko_O/kmp

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:52, 18-01-2015 | #2328


Аватара для habib2302

Ветеран


Сообщения: 862
Благодарности: 102

Профиль | Отправить PM | Цитировать


StongCool, ISWin7 бесполезен если вы используйте WinTB и добавлено лого в нижней панельке

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 10:04, 18-01-2015 | #2329


Новый участник


Сообщения: 15
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png 2015-01-18_124501.png
(19.0 Kb, 17 просмотров)

kotyarko@fb, Ссылка битая на скриншот.

И еще хотелось узнать.

Как сделать стартовой эту страницу + окошко такое.

Отправлено: 12:48, 18-01-2015 | #2330



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 7]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34




 
Переход