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

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

 

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

Ветеран


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

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


Цитата Arsi000:
ибо ставится всё идеально. мне нужна функция которая после завершении установки из msi и перед выходом из inno снимет процесс msiexec.exe из диспетчера задач. »
Этот процесс сам снимается если все хорошо, этож тоже инсталлер как и инно
Если он висит - значит чего-то маракует

nik1967 а не получится так что процесс msiexec.exe висит, инно его ждет и в результате висят все?

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


Отправлено: 22:38, 27-09-2011 | #3231



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

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


Забанен


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

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


Как перемистить кнопку отмени на странице финиш не трогая ее на остальних страницах текстурируваную через ботву?

И как сделать маску для деинсталятора через ботву

Отправлено: 22:50, 27-09-2011 | #3232


Забанен


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

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


Цитата VASYAKRN:
Как перемистить кнопку отмени на странице финиш не трогая ее на остальних страницах текстурируваную через ботву?
И как сделать маску для деинсталятора через ботву »
VASYAKRN, пиши по російськи, адже не приємно читати твої каракулі.
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:20, 28-09-2011 | #3233


Ветеран


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

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


Как в исдоне сделать дергающийся прогресс бар? знаю что нужно указать где то здесь

procedure ShowComponents;
var PBTop:integer;
begin
PBTop:=ScaleY(50);
ISDoneProgressBar1 := TNewProgressBar.Create(WizardForm);
with ISDoneProgressBar1 do begin
Parent := WizardForm.InstallingPage;
Height := WizardForm.ProgressGauge.Height;
Left := ScaleX(0);
Top := PBTop;
Width := ScaleX(365);
Max := 1000;
end;

Последний раз редактировалось insombia, 28-09-2011 в 18:00.


Отправлено: 17:42, 28-09-2011 | #3234


Ветеран


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

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


Оцените инстал что-то может подскажете что можно добавить на ваше усмотрение http://rghost.ru/23421421

Отправлено: 20:42, 28-09-2011 | #3235


Аватара для valyok666

Старожил


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

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


Доброго времени суток)У кого-нибудь есть примеры создания формы?если есть буду благодарен)кидайте сюда или в лс)заранее спасибо

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


Отправлено: 21:18, 28-09-2011 | #3236


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


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

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


Цитата Rikill:
Gugle, это вобще какой язык? Можно ли поподробнее что вы хотите? »
Мне нужно получить список ethernet адаптеров в системе. НО... Мне надо получить этот список именно так, как выдает его wpcap.dll. По этой библиотеке есть документация и в ней я нашел пример на Си , как это можно сделать. В примере, так же есть вывод:

1. \Device\NPF_{4E273621-5161-46C8-895A-48D0E52A0B83} (Realtek RTL8029(AS) Ethernet Adapter)
2. \Device\NPF_{5D24AE04-C486-4A96-83FB-8B5EC6C7F430} (3Com EtherLink PCI)

Мне необходимо получить именно такой список адаптеров + добавить к нему значения IPv4, IPv6 и MAC. Проблема в том, что мне необходимо получить не только именно эти данные, но и, что очень важно, порядок должен быть именно такой, в котором их выдает pcap.
Я не очень силен в Си, на котором этот пример приведен. В данном примере показано, как можно получить UUID (в доках это поле называется "name") устройства и описание (description) устройства. На форуме есть примеры, как пользоваться *.dll в inno, но во всех примерах используются функции со стандартными типами данных (Integer, DWORD, String и т.п.). В pcap овской библиотеки, используются нестандартные типы для inno (pcap_rmtauth, pcap_if_t и т.п.). Я не смог подключить "pcap.h" файлы, которые скачал с этого сайта и у меня была мысль описать эти типы ручками, но из этого ничего не получилось. Во всяком случае пока и я надеюсь на помощь форумчан в этом вопросе.
Если никому не хочется и/или нету такого количества времени для поиска описания этих типов данных в документации, то я могу сам выложить на форуме их полное описание.
Отсюда вопрос к гуру. Желание есть? Если хоть один из вас даст положительный ответ, то я постараюсь выложить полное описание одного из типов, для составления примера.

Отправлено: 09:59, 29-09-2011 | #3237


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Gugle, Попробуй, если то, что нужно, попробую сдедать длл-ку, которая будет выводить всю эту информацию.
Для ответа достаточно будет благодарности к этому посту, после пяти благодарностей - приступлю к работе
Отдельным постом - только дополнительные пожелания.
Голыми средствами инно я не смогу сделать этого, наверное

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Последний раз редактировалось Gnom_aka_Lexander, 29-09-2011 в 20:11.

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

Отправлено: 12:18, 29-09-2011 | #3238


Забанен


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

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


Подскажите пожалуйста, как сделать так что бы получилось так же как в FlylinkDC++?
1. Ввод имя пользователя, который вносится в реестр, данном случае например
Код: Выделить весь код
[HKEY_CURRENT_USER\Software\MyProg]
"Nick"="Пользователь"

2. Как расшарить папку, ввод имя папки, в этом случае к примеру C:\Downloads

Отправлено: 15:46, 29-09-2011 | #3239


Аватара для valyok666

Старожил


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

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


Devils Night, почитай может тут что нибудь найдёшь
пример с исходника
нашёл код смотри ниже:
читать дальше »

[Files]
Source: "..\compiled\Settings\custom_menu.xml"; DestDir: "{app}\Settings"; Flags: ignoreversion

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}";
Name: "startup"; Description: "{cm:CreateStartupIcon}"; GroupDescription: "{cm:AdditionalIcons}";

[Icons]
Name: "{group}\FlylinkDC++{code:Postfix| }"; Filename: "{app}\FlylinkDC{code:Postfix|_}.exe"; WorkingDir: "{app}"
Name: "{userstartup}\FlylinkDC++{code:Postfix| }"; Filename: "{app}\FlylinkDC{code:Postfix|_}.exe"; Tasks: startup; WorkingDir: "{app}"
Name: "{group}\FlylinkDiscover"; Filename: "{app}\FlylinkDiscover.exe"; WorkingDir: "{app}"
Name: "{group}\О программе"; Filename: "{app}\Readme.rtf"
Name: "{group}\{cm:ProgramOnTheWeb,FlylinkDC++{code:Postfix| }}"; Filename: "http://www.flylinkdc.ru"
Name: "{group}\{cm:UninstallProgram,FlylinkDC++{code:Postfix| }}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\FlylinkDC++{code:Postfix| }"; Filename: "{app}\FlylinkDC{code:Postfix|_}.exe"; Tasks: desktopicon; WorkingDir: "{app}"
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\FlylinkDC++{code:Postfix| }"; Filename: "{app}\FlylinkDC{code:Postfix|_}.exe"; Tasks: quicklaunchicon; WorkingDir: "{app}"

[Run]
Filename: "{app}\FlylinkDC{code:Postfix|_}.exe"; Description: "{cm:LaunchProgram,FlylinkDC++{code:Postfix| }}"; Flags: nowait postinstall skipifsilent
Filename: "http://flylinkdc.blogspot.com/"; Description: "Принять участие в тест-драйве свежего FlylinkDC++!"; Flags: nowait postinstall shellexec skipifsilent

[code]
procedure AboutButtonOnClick(Sender: TObject);
begin
MsgBox('(c) 2006-2010 FlylinkDC++ Team', mbInformation, mb_Ok);
end;

procedure URLLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://flylinkdc.blogspot.com/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

procedure CreateAboutButtonAndURLLabel(ParentForm: TSetupForm; CancelButton: TNewButton);
var
AboutButton: TNewButton;
URLLabel: TNewStaticText;
begin
AboutButton := TNewButton.Create(ParentForm);
AboutButton.Left := ParentForm.ClientWidth - CancelButton.Left - CancelButton.Width;
AboutButton.Top := CancelButton.Top;
AboutButton.Width := CancelButton.Width;
AboutButton.Height := CancelButton.Height;
AboutButton.Caption := '&About...';
AboutButton.OnClick := @AboutButtonOnClick;
AboutButton.Parent := ParentForm;

URLLabel := TNewStaticText.Create(ParentForm);
URLLabel.Caption := 'http://flylinkdc.blogspot.com';
URLLabel.Cursor := crHand;
URLLabel.OnClick := @URLLabelOnClick;
URLLabel.Parent := ParentForm;
{ Alter Font *after* setting Parent so the correct defaults are inherited first }
URLLabel.Font.Style := URLLabel.Font.Style + [fsUnderline];
URLLabel.Font.Color := clBlue;
URLLabel.Top := AboutButton.Top + AboutButton.Height - URLLabel.Height - 2;
URLLabel.Left := AboutButton.Left + AboutButton.Width + ScaleX(7);
end;

function Postfix(Separator: String): String;
begin
if Is64BitInstallMode then begin
Separator := Separator + 'x64';
Result := Separator;
end;
end;

var
UserPage: TInputQueryWizardPage;
DataDirPage: TInputDirWizardPage;


function NextButtonClick(CurPageID: Integer): Boolean;
begin
{ Validate certain pages before allowing the user to proceed }
if CurPageID = DataDirPage.ID then begin
//if UserPage.Values[0] = '' then
//begin
// MsgBox('You must enter your name.', mbError, MB_OK);
// Result := False;
//end
//else
begin
if DataDirPage.Values[0] = '' then
begin
DataDirPage.Values[0] := 'C:\DCDownloads';
MsgBox('Вы должны указать каталог для скачки файлов!', mbError, MB_OK);
Result := false;
end
else
RegWriteStringValue(HKEY_CURRENT_USER, 'Software\FlylinkDC++', 'DownloadDir', DataDirPage.Values[0]);
RegWriteStringValue(HKEY_CURRENT_USER, 'Software\FlylinkDC++','Nick', UserPage.Values[0]);
if (DirExists(DataDirPage.Values[0]) = false) then
begin
if (CreateDir(DataDirPage.Values[0]) = false) then
begin
MsgBox('Ошибка создания каталога для скачки!', mbError, MB_OK);
Result := false;
end
else
Result := true;
end
else
Result := true;
end;
end
else
Result := True;
end;

procedure RegisterPreviousData(PreviousDataKey: Integer);
begin
{ Store the settings so we can restore them next time }
SetPreviousData(PreviousDataKey, 'Name', UserPage.Values[0]);
SetPreviousData(PreviousDataKey, 'DataDir', DataDirPage.Values[0]);
end;

procedure InitializeWizard();
begin
WizardForm.TypesCombo.Visible := False;
CreateAboutButtonAndURLLabel(WizardForm, WizardForm.CancelButton);
UserPage := CreateInputQueryPage(wpSelectDir,
'Информация о пользователе', 'Какой ник у Вас в DC++?',
'Укажите ник и нажите "Далее"'+ #13 +#13 +'Допустимые символы в нике:' +#13 +'0123456789'+ #13 + 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'+ #13 +'()+-=[]^_{})"');
UserPage.Add('Имя пользователя в DC++:', False);


DataDirPage := CreateInputDirPage(wpSelectDir+1,
'Выбор каталога для загрузки', 'Где будут храниться загружаемые файлы?',
'Укажите каталог для скачки (при старте он будет автоматически "расшарен")',
False, 'DCDownloads');
DataDirPage.Add('');

{ Set default values, using settings that were stored last time if possible }
UserPage.Values[0] := GetPreviousData('Name', '');
DataDirPage.Values[0] := GetPreviousData('DataDir', 'C:\DCDownloads');
end;

procedure InitializeUninstallProgressForm();
begin
CreateAboutButtonAndURLLabel(UninstallProgressForm, UninstallProgressForm.CancelButton);
end;

procedure DeinitializeUninstall();
var ErrorCode : Integer;
begin
if MsgBox('Спасибо за использование FlylinkDC++!' #13 'Вы можете сообщить о причине удаления программы и Ваше сообщение будет рассмотрено разработчиками...', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = idYes
then ShellExec('open', 'http://flylinkdc.blogspot.com/2010/04/flylinkdc-uninstall-feedback.html', '', '', SW_SHOW, ewNoWait, ErrorCode);
end;


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


Последний раз редактировалось valyok666, 29-09-2011 в 18:16. Причина: 1

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

Отправлено: 17:46, 29-09-2011 | #3240



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




 
Переход