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

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

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

Ветеран


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


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

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


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 900 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 798 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

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


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:28, 04-11-2010

 

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


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

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


Люди хелп. Не знаю что делать. Сделал скрипт в котором в середине выполняется UninsHS.exe (пока его не всовывал) скрипт работал норм, он и сейчас работает хорошо. НО он не хочет заменять в папке установки старые файлы на новые (( Подскажитееее пожалуйста, что можна сделать . Вот скрипт






[Setup]
AppID = asdf
AppName=asdf
AppVersion=1.55.1
AppPublisher=Company
DefaultDirName={pf}\asdf
DefaultGroupName=asdf
AllowNoIcons=yes
LicenseFile=C:\Peter work\instalation script\files for install\legal.txt
OutputBaseFilename=setup
Compression=lzma

SolidCompression=yes
UninstallDisplayIcon = {app}\asdf,0
UninstallDisplayName = Uninstall asdf

; For modify button in control panel
AppModifyPath ="{app}\asdf" /m0=asdf

[Languages]


[Components]


[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
Name: quicklaunchicon7; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked; MinVersion: 0,6.1
[Files]

Source: "C:\Peter work\instalation script\files for install\icon.ico"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Peter work\instalation script\files for install\legal.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Peter work\instalation script\files for install\UninsHs.exe"; DestDir: "{app}"; Flags: restartreplace
Source: "C:\Peter work\instalation script\files for install\play.jpg"; DestDir: "{app}"; Flags: restartreplace
Source: "C:\Peter work\instalation script\files for install\background.jpg"; DestDir: "{app}"; Flags: restartreplace
Source: "C:\Peter work\instalation script\files for install\asdf.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

[Dirs]
; Create folder for saving installation package
Name: "{userappdata}\$Inst$"; Attribs: hidden; Flags: uninsalwaysuninstall

[Icons]
Name: "{group}\asdf"; Filename: "{app}\asdf.exe"
Name: "{group}\{cm:UninstallProgram,asdf}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\asdf"; Filename: "{app}\asdf.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\asdf"; Filename: "{app}\asdf.exe";
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\asdf"; Filename: "{app}\asdf.exe"
Name: {group}\Uninstall asdf;Filename: "{app}\UninsHs.exe"; WorkingDir: "{app}"; Parameters: /u0=asdf

[InstallDelete]
Type: dirifempty; Name: "{userappdata}\$Inst$"

[Run]
; Register UninsHs to control panel
Filename: "{app}\UninsHS.exe"; Parameters: "/r0=asdf,{language},{srcexe},{userappdata}\$Inst$\setup.exe";WorkingDir: "{app}"; Flags: runhidden runminimized skipifdoesntexist
Filename: "{app}\asdf.exe"; Description: "{cm:LaunchProgram,asdf}"; Flags: nowait postinstall skipifsilent
[UninstallDelete]
; Delete the installation file

Type: files; Name: "{userappdata}\$Inst$\setup"

; Delete the installation folder

Type: dirifempty; Name: "{userappdata}\$Inst$"

[code]
{For UninsHs; Skip some wizard page when repair}
function ShouldSkipPage(CurPage: Integer): Boolean;
begin
if Pos('/SP-', UpperCase(GetCmdTail)) > 0 then
case CurPage of
wpLicense, wpPassword, wpInfoBefore,
//UserPage.Id,
wpUserInfo, wpSelectDir, wpSelectProgramGroup, wpInfoAfter:
Result := True;
end;
end;

function NextButtonClick(CurPage: Integer): Boolean;
var
sz:Integer;
s:string;
count:integer;
ErrorCode:integer;
ResultCode:integer;
res:integer;
begin
Result:=True;
count:=0;
If CurPage=wpSelectDir then

begin

if FileExists(ExpandConstant('{app}\UninsHS.exe')) and (count=0) then
begin

ShellExec('', ExpandConstant('{app}\UninsHS.exe'), '/u0=asdf', '', SW_SHOW, ewNoWait, ErrorCode);
Exec('taskkill', '/f /im setup.tmp', '', SW_Hide, ewNoWait, ErrorCode);
// Exec(ExpandConstant('{app}\UninsHS.exe'), ' /u0=asdf',ExpandConstant('{app}'),SW_SHOW,ewWaitUntilTerminated,res);



//
count:=1;

Result := False;
end ;


end;
end;


end .

ну не ужели никто не может помочь ? подсказать - почему файлы после переустановки не обновляються (

Последний раз редактировалось Petruchodd, 09-12-2010 в 14:57. Причина: никто не помог (((


Отправлено: 18:53, 08-12-2010 | #81



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

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


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


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

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


ровно два дня сижу в инете и пытаюсь разобраться в скриптах по распаковке arc.... но каждый раз возникает какая-нибудь синтаксическая или иная ошибка....
можете показать самый наипростейший пример скрипка по распаковке arc архивов (вернее даже кусок кода)
бары и прочие красивости не интересуют, главное что бы архивы arc распаковывал сам inno setup, а не через батник....
спасибо заранее

p.s.может ли ещё всё зависеть от версии компилятора? обычный с кряком и китайский расширенный работают одинаково
_____________________________
уже сам разобрался с arc-extrator, когда архивы лежат на исходном диске в корне

Последний раз редактировалось death7lord, 10-12-2010 в 03:01.


Отправлено: 01:25, 09-12-2010 | #82


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


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

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


death7lord, юзай IsDone
---------------------------------------------------------------------------------------------------------------------
Цитата sergey3695:
кто знает помогите пожалуйста, как сделать так:

Чтобы при нажатии менялась форма инстала?
+1 ну или хотяб покажите как реализовать смену формы инстлала по клику на чекбокс(как добавить чекбокс знаю)

Отправлено: 18:25, 11-12-2010 | #83


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


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

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


Цитата Imitri7:
+1 ну или хотяб покажите как реализовать смену формы инстлала по клику на чекбокс(как добавить чекбокс знаю) »
Для этого надо будет писать очень много кода (описание стандартной формы и расположение на ней элементов, и описание новой формы с новым расположением этих элементов),
если готов потрудиться, то вот ->
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
OutputDir=.

[code]
var
  MyCheck: TCheckBox;

procedure StandartForm();
begin
  { описание стандартного расположения элементов WizardForm }
  with WizardForm do
  begin
    ClientWidth := ScaleX(497);
    ClientHeight := ScaleY(360);
    Center;
  end;   
end;

procedure MyNewForm();
begin
  { описание нового расположения элементов WizardForm }
  with WizardForm do
  begin
    ClientWidth := ScaleX(700);
    ClientHeight := ScaleY(500);
    Center;
  end;
end;

procedure GetWizardForm(Sender: TObject);
begin
  if MyCheck.Checked then
    MyNewForm()
  else
  StandartForm();
end;

procedure InitializeWizard();
begin
  MyCheck := TCheckBox.Create(WizardForm);
  with MyCheck do
  begin
    SetBounds(5, 330, 100, 13);
    Caption := 'Сменить размер';
    OnClick := @GetWizardForm;
    Parent := WizardForm;
  end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:11, 11-12-2010 | #84


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


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

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


serg aka lain, можешь еще пример показать чтоб чекбокс с надписью в другое место перемещались?
+ как на определенной странице сделать(сори за нубство, никогда сам не писал код)

Последний раз редактировалось Imitri7, 11-12-2010 в 23:18.


Отправлено: 22:45, 11-12-2010 | #85


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


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

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


Цитата Imitri7:
можешь еще пример показать чтоб чекбокс с надписью в другое место перемещались?
+ как на определенной странице сделать(сори за нубство, никогда сам не писал код) »
Если подразумевается окно распаковки файлов, то я сделал бы так ->
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
OutputDir=.

[Files]
Source: {sys}\*.dll; DestDir: {app}; Flags: external deleteafterinstall;

[code]
var
  MyCheck: TCheckBox;

procedure StandartForm();
begin
  with WizardForm do
  begin
    ClientWidth := ScaleX(497);
    ClientHeight := ScaleY(360);
    Center;
    Bevel.Show;
    Bevel1.Show;
    MainPanel.Show;
    with InnerNotebook do
    begin
      Left := ScaleX(40);
      Top := ScaleY(72);
      Width := ScaleX(417);
    end;
    with StatusLabel do
      Width := ScaleX(417);

    with FileNameLabel do
    begin
      ScaleY(16);
      Width := ScaleX(417);
    end;
    with ProgressGauge do
    begin
      Top := ScaleY(42);
      Width := ScaleX(417);
    end;
    with CancelButton do
    begin
      Left := ScaleX(412);
      Top := ScaleY(327);
    end;     
  end;
  with MyCheck do
    Top := ScaleY(330);  
end;

procedure MyNewForm();
begin
  with WizardForm do
  begin
    ClientWidth := ScaleX(395);
    ClientHeight := ScaleY(120);
    Center;
    Bevel.Hide;
    Bevel1.Hide;
    MainPanel.Hide;
    with InnerNotebook do
    begin
      Left := ScaleX(10);
      Top := ScaleY(10);
      Width := WizardForm.ClientWidth - ScaleX(20);
    end;
    with StatusLabel do
      Width := InnerNotebook.Width;

    with FileNameLabel do
    begin
      Top := ScaleY(20);
      Width := InnerNotebook.Width;
    end;
    with ProgressGauge do
    begin
      Top := ScaleY(40);
      Width := InnerNotebook.Width;
    end;
    with CancelButton do
    begin
      Left := WizardForm.ClientWidth div 2 - CancelButton.Width div 2;
      Top := WizardForm.ClientHeight - CancelButton.Height - ScaleY(10);
      BringToFront;
    end;
  end;
  with MyCheck do
    Top := WizardForm.CancelButton.Top;
end;

procedure GetWizardForm(Sender: TObject);
begin
  if MyCheck.Checked then
    MyNewForm()
  else
  StandartForm();
end;

procedure InitializeWizard();
begin
  MyCheck := TCheckBox.Create(WizardForm);
  with MyCheck do
  begin
    Left := ScaleX(10);
    Top := ScaleY(330);
    Width := ScaleX(150);
    Caption := 'Компактный размер';
    OnClick := @GetWizardForm;
    Parent := WizardForm;
  end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  MyCheck.Hide;
  if CurPageID = wpInstalling then
    MyCheck.Show;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssPostInstall then
   MyCheck.Checked := False;
end;

з.ы. Требуется тестирование, для выявления возможных глюков.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:58, 11-12-2010 | #86


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


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

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


serg aka lain, спасибо большое, глюков вроде нет, пока не заметил

Последний раз редактировалось Imitri7, 12-12-2010 в 10:52.


Отправлено: 00:29, 12-12-2010 | #87


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


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

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


serg aka lain, в инно можно как нибудь границы окна убрать, а кнопку свернуть и закрыть сделать картинками?

Отправлено: 11:20, 12-12-2010 | #88


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


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

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


Цитата Imitri7:
в инно можно как нибудь границы окна убрать »
Имеется в виду это
Код: Выделить весь код
procedure InitializeWizard();
begin
  WizardForm.BorderStyle := bsNone;
end;

Отправлено: 18:03, 12-12-2010 | #89


Аватара для Vamp1re

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


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

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


Нужен inno setup скрипт для распаковки архивов winrar

Нужен inno setup скрипт для распаковки архивов winrar

Отправлено: 22:08, 12-12-2010 | #90



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход