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

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

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

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

Ветеран


Contributor


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


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

Профиль | Отправить 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

 

Аватара для Dodakaedr

Ветеран


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

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


El Sanchez, можно реализовать этот вопрос? http://forum.oszone.net/post-2502130-555.html

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


Отправлено: 16:30, 13-05-2015 | #611



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

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


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

Старожил


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

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


Цитата Dodakaedr:
Как в inno сгенерировать случайное число на 10 цифр? »
Например, так:
Код: Выделить весь код
Function InitializeSetup(): Boolean;
var
 I: Integer;
 S: String;
begin
 S := '';
 for I := 0 to 9 do
 begin
  S := S + IntToStr(Random(9));
 end;
 MsgBox(S, mbInformation, MB_OK);
 Result := False;
end;

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

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

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


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


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

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


Цитата El Sanchez:
Код:
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
case CurPageID of
wpSelectDir:
if DirExists(ExpandConstant('{app}\MyProg')) then
MsgBox('bla-bla-bla', mbInformation, MB_OK);
end;
end; »
С этим вообще ничего не происходит, устанавливается всегда.

Отправлено: 22:34, 14-05-2015 | #613


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


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

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


Цитата:
А есть еще один вопрос: как можно получить список инстанций MS SQL? Даже не знаю, как и что в гугле спрашивать...

Последний раз редактировалось maraby, 05-05-2015 в 15:21.
В общем, получилось
Использовала RegGetValueNames. Единственное, если RootKey указать как HKEY_LOCAL_MACHINE - то возвращает пустой список.
В общем надо указать HKLM64

Вопрос: а если инстанция SQL 32-разрядная?

Код: Выделить весь код
 procedure UzupelniNazweInstancjiSQL;
 var
  Names: TArrayOfString;
  I: Integer;
  S: String;

begin
  if RegGetValueNames(HKLM64, 'SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL', Names) 
  then
  begin
    S := '';
    SerwerInstancja.Items.Clear;
    for I := 0 to GetArrayLength(Names)-1 
    do 
      begin
      S := S + Names[i] + #13#10;
      SerwerInstancja.Items.Add(S);
      end;
  end else
  begin
    // add any code to handle failure here
	MsgBox(' :( ', mbInformation, MB_OK);
  end;
end;

Последний раз редактировалось maraby, 15-05-2015 в 11:40. Причина: неточность в описании вопроса


Отправлено: 11:07, 15-05-2015 | #614


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

Старожил


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

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


Цитата maraby:
а если инстанция SQL 32-разрядная? »
Попробуйте так:
код
Код: Выделить весь код
 procedure UzupelniNazweInstancjiSQL;
 var
  Names: TArrayOfString;
  I, RegName: Integer;
  S: String;

begin
 if IsWin64 then
  RegName := HKLM64
 else
  RegName := HKLM32;

  if RegGetValueNames(RegName, 'SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL', Names)
  then
  begin
    S := '';
    SerwerInstancja.Items.Clear;
    for I := 0 to GetArrayLength(Names)-1
    do
      begin
      S := S + Names[i] + #13#10;
      SerwerInstancja.Items.Add(S);
      end;
  end else
  begin
    // add any code to handle failure here
	MsgBox(' :( ', mbInformation, MB_OK);
  end;
end;


з.ы. вместо HKLM32, вроде, можете использовать просто HKLM.

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

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

Отправлено: 15:01, 15-05-2015 | #615


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


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

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


kotyarko@fb
Спасибо
В принципе ведь нужен список всех инстанций?
поэтому сделала так (правда еще не тестила):

Скрытый текст

Код: Выделить весь код
begin
  if RegGetValueNames(HKLM64, 'SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL', Names64)   
  or RegGetValueNames(HKLM32, 'SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\Instance Names\SQL', Names32) 
  then
  begin
    S := '';
    SerwerInstancja.Items.Clear;
    
    for I := 0 to GetArrayLength(Names64)-1 
    do 
    begin
      SerwerInstancja.Items.Add(Names64[i]+ #13#10);
    end;
    
    for I := 0 to GetArrayLength(Names32)-1 
    do 
      begin
      SerwerInstancja.Items.Add(Names32[i] + #13#10);
      end;
  end else
  begin
    // add any code to handle failure here
	MsgBox(' :( ', mbInformation, MB_OK);
  end;
end;

Отправлено: 15:50, 15-05-2015 | #616


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

Ветеран


Contributor


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

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


Цитата Николай_Николаич@vk:
С этим вообще ничего не происходит, устанавливается всегда. »
Цитата Николай_Николаич@vk:
Если в папке MyProgram есть папка Prog - то все отлично, если же её нету, то предупреждение в окошке. »
Николай_Николаич@vk, ну, я и сделал предупреждение, сообщил и продолжил далее. Так?
Скрытый текст

Код: Выделить весь код
function NextButtonClick(CurPageID: Integer): Boolean;
begin
    Result := True;
    case CurPageID of
        wpSelectDir:
            begin
                Result := not DirExists(ExpandConstant('{app}\MyProg'));
                if not Result then
                    MsgBox('bla-bla-bla', mbInformation, MB_OK);
            end;
    end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:34, 16-05-2015 | #617


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


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

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


Цитата El Sanchez:
ну, я и сделал предупреждение, сообщил и продолжил далее. Так?
Скрытый текст
Код:
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
case CurPageID of
wpSelectDir:
begin
Result := not DirExists(ExpandConstant('{app}\MyProg'));
if not Result then
MsgBox('bla-bla-bla', mbInformation, MB_OK);
end;
end;
end; »
Ну дело в том, что нет предупреждения, независимо от того, если ли папка Prog или нету.

Отправлено: 18:17, 16-05-2015 | #618


Аватара для Dodakaedr

Ветеран


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

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


Николай_Николаич@vk, попробуйте так
Скрытый текст
Код: Выделить весь код
[setup]
appname=app
appvername=1.0 app
defaultdirname={sd}\app
DirExistsWarning=no

[Code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
    Result := True;
    case CurPageID of
        wpSelectDir:
            begin
                Result := DirExists(ExpandConstant('{app}\MyProg'));
                if not Result then
                    MsgBox('bla-bla-bla', mbInformation, MB_OK);
            end;
    end;
end;

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


Последний раз редактировалось Dodakaedr, 17-05-2015 в 00:24.

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

Отправлено: 00:10, 17-05-2015 | #619


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


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

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


El Sanchez, Dodakaedr, Спасибо, разобрался.

Не подскажите как брать путь установки из реестра.
Например:
Если в реестре есть только ключ -
SOFTWARE\1
Dir - C:\1

То берем C:\1

А если в реестре есть

SOFTWARE\2
Dir - C:\2

То путь установки будет из 2-го.

если имеется два ключа, путь бы брался из второго - C:\2

Отправлено: 03:50, 17-05-2015 | #620



Компьютерный форум 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




 
Переход