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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;


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


Продолжение обсуждения
Скрипты Inno Setup. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 

Аватара для No4noylis

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


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

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


Извеняюсь за оффтоп, но... те кто делал репак на Ведьмак 2. Убийцы королей, напишите пожалуйста в ЛС

-------
Нет ничего невозможного...

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

Отправлено: 12:55, 15-01-2012 | #621



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

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


Аватара для Dark_Delphin

Старожил


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

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


valyok666, я знаю что ботва..

Я не повню, что нужно изменить , чтоб не БМП было, а другой формат, если можно ПНГ.

Вот кусочек скрипта.

Код: Выделить весь код
ExtractTemporaryFile('Img.bmp');
  BGImgFile := ExpandConstant('{tmp}\Img.bmp');

  WizardForm.ComponentsList.Parent := WizardForm;
  WizardForm.ComponentsList.SetBounds(ScaleX(100), ScaleY(140),ScaleX(400),ScaleY(130));
  WizardForm.ComponentsList.Flat := True;
  Wizardform.ComponentsList.Font.Color:=clWhite;
  Wizardform.ComponentsList.Color:=clblack;
  WizardForm.ComponentsList.Showroot := True;
  WizardForm.ComponentsList.HideSelection := True;
  BorderWidth:=(WizardForm.ComponentsList.Width-WizardForm.ComponentsList.ClientWidth)div 2;
  WizardForm.ComponentsList.LoadBGBmpFromFile(BGImgFile, WizardForm.ComponentsList.Left+BorderWidth+8, WizardForm.ComponentsList.Top+BorderWidth+22);
Заранее спасибо.

-------
✘ _420.pp_✘


Отправлено: 14:31, 15-01-2012 | #622


Аватара для valyok666

Старожил


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

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


ntrx, Картинки На всех страницах Botva2

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"


Отправлено: 17:05, 15-01-2012 | #623


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


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

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


valyok666, вечер добрый ну как не смотрел мой скрипт

Отправлено: 17:15, 15-01-2012 | #624


Аватара для Edison007

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


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

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


Цитата ntrx:
Я не повню, что нужно изменить , чтоб не БМП было, а другой формат, если можно ПНГ. »
в компонентслист можно загрузить только БМП... и да ботва тут не причем
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:28, 15-01-2012 | #625


Аватара для valyok666

Старожил


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

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


Цитата ntrx:
Всем привет)
Подскажите пожалуйста или дайте примерчик "Как сделать, что-бы картинка отображалась в компонентлисте? В jpg или PNG формате"?
Заранее спасибо. »

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"


Отправлено: 20:01, 15-01-2012 | #626


Ветеран


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

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


Подскажите пожалуйста как установить .inf файл(т.е. как бы правой кнопкой на нём-Установить)? После установки он(.inf) находится в папке с программой и нужно его, я так понимаю запустить из секции [Run], чтоб он установился, а как не знаю.

Отправлено: 14:23, 16-01-2012 | #627


Аватара для R.i.m.s.k.y.

Ветеран


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

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


МИШАНЧИК, первая же ссылка в яндексе
как-то так ну может с кавыками перемудрил только
Код: Выделить весь код
[Run]
Filename: {sys}\rundll32.exe; Parameters: syssetup,SetupInfObjectInstallAction DefaultInstall 128 """{app}\Folder\file.inf"""

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

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

Отправлено: 14:32, 16-01-2012 | #628


Ветеран


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

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


R.i.m.s.k.y., большое спасибо, попробую.

Отправлено: 14:47, 16-01-2012 | #629


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


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

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


Цитата El Sanchez:
TROY Diamond, искать надо по значению ключа DisplayName. Пример (ищем Inno Setup QuickStart Pack, чтобы удалить)
Спасибо Вам большое!!!

Подскажите, пожалуйста, а как добавить в этот код несколько вариантов названия приложения:

читать дальше »

Код: Выделить весь код
function argv(Param: String): TArrayOfString;
begin
    SetArrayLength(Result, 2);
    case Param[1] of
        '"': begin
            Result[0] := Copy(Param, 2, Pos('.exe', Lowercase(Param))+2);
            Result[1] := RemoveQuotes(Trim(Copy(Param, Length(Result[0])+3, Length(Param))));
        end;
    else
        begin
            Result[0] := Copy(Param, 1, Pos('.exe', Lowercase(Param))+3);
            Result[1] := RemoveQuotes(Trim(Copy(Param, Length(Result[0])+1, Length(Param))));
        end;
    end;
end;


function GetInstalledProgramm(Param: String): Boolean;
var
    Names, cl: TArrayOfString;
    i, ResultCode: Integer;
    DisplayName, UninstallString: String;
begin
    if RegGetSubkeyNames(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall', Names) then for i := 0 to GetArrayLength(Names)-1 do
    begin
        RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + Names[i], 'DisplayName', DisplayName);
        if Pos(Lowercase(Param), Lowercase(DisplayName)) > 0 then
        begin
            Result := True;
            if MsgBox('Программа установки обнаружила уже установленную программу ' + DisplayName + '.'#13#10'Вы желаете предварительно удалить ее?', mbInformation, MB_YESNO) = idYes then
            begin
                if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + Names[i], 'UninstallString', UninstallString) then
                begin
                    cl := argv(UninstallString);
                    if not Exec(cl[0], cl[1], '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
                        MsgBox('Ошибка удаления.'#13#10'' + SysErrorMessage(ResultCode) + '.'#13#10'Вероятно, деинсталлятор был перемещен, удален или переименован.', mbError, MB_OK);
                end;
            end;
            Break;
        end;
    end;
end;


procedure InitializeWizard();
begin
    GetInstalledProgramm('Inno Setup QuickStart Pack');
end;


В Вашем примере ТОЛЬКО ОДИН ВАРИАНТ: "Inno Setup QuickStart Pack", а если приложение будет называться как-нибудь по-другому?

Например, "Inno Setup QuickStart Pack v." или "Inno Setup QuickStart Pack (Сборка такая-то...)" "Inno Setup QuickStart Pack от Васи Пупкина..." и т.п.

Куда и как записать все возможные варианты названия этого приложения?

Мне нужно, чтобы при запуске моего установщика, находилось это же приложение, - если оно было установлено, как чужими, так и моим инсталлятором. КАК БЫ ОНО НЕ НАЗЫВАЛОСЬ (Все варианты названий, я напишу... Вы главное скажите куда и как)!!!

Дайте, кто-нибудь полный скрипт с использованием значения "AppMutex", пожалуйста!

Отправлено: 17:37, 16-01-2012 | #630



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход