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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 22-10-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]
Скрипты Inno Setup. Помощь и советы [часть 7]

Отправлено: 08:52, 02-02-2015

 

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


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

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


Цитата Dodakaedr:
Определите где программа хранит свои рег. данные и занесите их в свой установщик. Как это сделать можно найти в интернете. »
Вот я и нашёл форум и спрашиваю. Больше ни где нет информации, либо она на английском.

Отправлено: 22:20, 06-02-2016 | #1291



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

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


Аватара для Dodakaedr

Ветеран


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

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


Цитата djbionicl:
Больше ни где нет информации, либо она на английском. »
Действительно?
Скрытый текст
Введите в googl'e "Как отследить изменения в системе после установки программы?"

-------
Inno Setup 5 Ultra Unicode


Отправлено: 22:30, 06-02-2016 | #1292


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


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

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


Цитата Dodakaedr:
Путь берется из ключа реестра деинсталлятора. В справке в разделе "Константы" есть небольшое описание получения значения. »
еще раз спасибо!

С бэкапом небольшая загвоздка выходит.
В папке Data находятся файлы для бэкапа - Data/Файлы
После бэкапа имеем такую структуру - Backup/Data/Файлы. А вот после деинсталляции получается так - Data/Data/Файлы, а должно Data/Файлы, т.е. файлы возвращаются в папке.

На всякий случай кусок кода, возможно, я что-то неправильно делаю
Скрытый текст


Код: Выделить весь код
[Files]
Source: "F:\Data\*.assets"; DestDir: "{app}\Data"; BeforeInstall: "BackupFile()"; Flags: ignoreversion
;Source: "{app}\2.txt"; DestDir: "{app}"; BeforeInstall: "BackupFile()"; Flags: ignoreversion
;Source: "{app}\1.cjstyles"; DestDir: "{app}\cjstyles"; BeforeInstall: "BackupFile()"; Flags: ignoreversion
;Source: "{app}\1.rtf"; DestDir: "{app}\txt"; BeforeInstall: "BackupFile()"; Flags: ignoreversion
;Source: "{app}\1.zip"; DestDir: "{app}\zip"; BeforeInstall: "BackupFile()"; Flags: ignoreversion

[code] 
type
#ifdef UNICODE
#define A "W"
PChar = PAnsiChar;
#else
#define A "A"
#endif
   TSHFileOpStruct =  record
     Wnd: HWND;
     wFunc: UINT;
     pFrom: PChar;
     pTo: PChar;
     fFlags: Word; 
     fAnyOperationsAborted: BOOL;
     hNameMappings: HWND; 
     lpszProgressTitle: PChar; 
   end;
   
const
   FO_MOVE            = $0001;
   FO_COPY            = $0002;
   FOF_SILENT         = $0004;
   FOF_NOCONFIRMATION = $0010;
   FOF_FILESONLY      = $0080;
   FOF_NOCONFIRMMKDIR = $0200;

function SHFileOperation(const lpFileOp: TSHFileOpStruct):Integer; external 'SHFileOperation@shell32.dll stdcall';

procedure BackupFile();
var
file, backFile, backpath: string;
begin
if FileExists(ExpandConstant(CurrentFileName)) then
begin
File := ExpandConstant(CurrentFileName);
backpath := file;
StringChangeEx(backpath, ExpandConstant('{app}'), '', True);
backFile := ExpandConstant('{app}\Backup') + backpath;
ForceDirectories(ExtractFilePath(backfile));
RenameFile(file, backfile);
end;
end;

function BackupDir(const fromDir, toDir: ansistring; IsMove: Boolean): Boolean;
var
  fos: TSHFileOpStruct;
  _fromDir, _toDir: ansistring;
  SR: TFindRec;
  res: Boolean;
begin
    ForceDirectories(toDir);
  if IsMove then
    fos.wFunc  := FO_MOVE else
    fos.wFunc  := FO_COPY;
    fos.fFlags := FOF_FILESONLY or FOF_SILENT or
               FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR;
    _fromDir:= AddBackslash(fromDir);
    _toDir  := AddBackslash(toDir);
  if (Length(fromDir) = Length(_fromDir)) then
    begin
        res:= FindFirst(_fromDir + '*', SR);
      try
        while res do
        begin
          if (SR.Name <> '') and (SR.Name <> '.') and (SR.Name <> '..') then
          begin
            if SR.Attributes = FILE_ATTRIBUTE_DIRECTORY then
              begin
                _fromDir:= _fromDir + SR.Name + #0#0;
                _toDir  := _toDir + #0#0;
                fos.pFrom  := PChar(_fromDir);
                fos.pTo    := PChar(_toDir);
              end else
              begin
                _fromDir:= _fromDir + SR.Name + #0#0;
                _toDir  := _toDir   + SR.Name + #0#0;
                fos.pFrom  := PChar(_fromDir);
                fos.pTo    := PChar(_toDir);
              end;
                Result := (0 = ShFileOperation(fos));
                _fromDir:= ExtractFilePath(_fromDir);
                _toDir:= ExtractFilePath(_toDir);
          end;
          res := FindNext(SR);
        end;
      finally
        FindClose(SR);
      end;
    end else
    begin
      _fromDir:= RemoveBackslashUnlessRoot(_fromDir) + #0#0;
      _toDir  := RemoveBackslashUnlessRoot(_toDir)   + #0#0;
      fos.pFrom  := PChar(_fromDir);
      fos.pTo    := PChar(_toDir);
      Result := (0 = ShFileOperation(fos));
    end;
end;

procedure RestoreBackup(backDir: string);
begin
BackupDir(backDir, ExpandConstant('{app}'), True);
DelTree(backDir, true, true, true);
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usdone then
begin
RestoreBackup(ExpandConstant('{app}\Backup\'));
end;
end;

Последний раз редактировалось a.k.a. Rasputin, 07-02-2016 в 01:40.


Отправлено: 01:19, 07-02-2016 | #1293


Забанен


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

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


как убрать но что бы по умолчанию ярлык устанавливался на рабочий стол

Отправлено: 09:07, 07-02-2016 | #1294


Ветеран


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

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


Цитата vadjliss:
как убрать но что бы по умолчанию ярлык устанавливался на рабочий стол »
Удалите из секции [Tasks] задачу, отвечающую за создание ярлыка.
Код: Выделить весь код
[Tasks]
Name: desktopicon; Description: "Создать значек на Рабочем столе"
Или полностью удалите секцию [Tasks] из скрипта, если в ней нет других задач.
Создание ярлыка в секции [Icons] оформите следующим образом:
Код: Выделить весь код
[Icons]
;для всех пользователей
Name: "{commondesktop}\имя программы"; Filename: "{app}\имя файла.exe"; WorkingDir: "{app}";
;для текущего пользователя
Name: "{userdesktop}\имя программы"; Filename: "{app}\имя файла.exe"; WorkingDir: "{app}";
Более подробно можно почитать в справке.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:31, 07-02-2016 | #1295


SHVtYW4=


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

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


vadjliss, Удалите:
Код: Выделить весь код
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

В секции [Icons] найдите похожую строку:
Код: Выделить весь код
Name: {commondesktop}\My Program; Filename: {app}\MyProg.exe; Tasks: desktopicon
в содержимом найдите Tasks: desktopicon и удалите, т.е чтоб вместо
Код: Выделить весь код
Name: {commondesktop}\My Program; Filename: {app}\MyProg.exe; Tasks: desktopicon
получилось
Код: Выделить весь код
Name: {commondesktop}\My Program; Filename: {app}\MyProg.exe;
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:39, 07-02-2016 | #1296


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


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

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


Цитата Dodakaedr:
Введите в googl'e "Как отследить изменения в системе после установки программы?" »
Отследил, а как в инно сетап вставить?

Отправлено: 10:08, 07-02-2016 | #1297


SHVtYW4=


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

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


Цитата djbionicl:
Отследил, а как в инно сетап вставить? »
Что вы отследили и чем?
Если вам нужно в скрипт импортировать содержимое реестра, то воспользуйтесь инструментом Converter: ссылка на сообщение есть в первом сообщении данной темы внутри спойлера "Дополнительные программы для Inno Setup". Если не увидели, вот вот прямая ссылка на сообщение #86.

Или используйте инструмент Inno Script Studio.
Скачайте и установите Inno Script Studio.
Откройте скрипт с помощью Inno Script Studio.
Переместите курсор мыши на секцию "Registry/Реестр"
Нажмите по "Registry/Реестр".
Переместите reg-файл в пустую область.
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:47, 07-02-2016 | #1298


Аватара для Dodakaedr

Ветеран


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

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


Вложения
Тип файла: rar Backup and Restore Files.rar
(1.9 Kb, 16 просмотров)

Цитата a.k.a. Rasputin:
С бэкапом небольшая загвоздка выходит. »
Не вижу никаких загвоздок. Все работает!

-------
Inno Setup 5 Ultra Unicode

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

Отправлено: 11:24, 07-02-2016 | #1299


Забанен


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

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


спасибо большое парни

Отправлено: 11:56, 07-02-2016 | #1300



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 7] El Sanchez Автоматическая установка приложений 2499 02-02-2015 08:59
Скрипты 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




 
Переход