PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 7]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Антон_Мураткин@vk
07-05-2014, 23:40
добавьте это
читать дальше » »
Не подходит выдаёт ошибку. Пробовал переделать тоже что то не получается. Может кто поможет? Заранее благодарю!!!

vint56
08-05-2014, 00:07
Антон_Мураткин@vk
http://rghost.ru/55019065

audiofeel
08-05-2014, 01:14
привет всем, помогите, как сделать , чтоб кнопка GroupBrowseButton (созданная через ботву) обновлялась "правильно" при нажатии на "штатный чек бокс" (не через ботву) "NoIconsCheck"
сделал так =========
procedure NoIconsClick(Sender: TObject);
begin
WizardForm.GroupEdit.Enabled:= not WizardForm.NoIconsCheck.Checked;
BtnSetEnabled(GroupBrowseButton, not WizardForm.NoIconsCheck.Checked);
end;
*********************

procedure InitializeWizard;
begin
with WizardForm do begin
NoIconsCheck.OnClick := @NoIconsClick;

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

Антон_Мураткин@vk
08-05-2014, 01:49
Цитата vint56:
http://rghost.ru/55019065 »
Благодарю! :up
Я просто код скрипта стандартый заменял на то что дал Dodakaedr вот из-за этого ошибка и вылазила.
Всем огромное спасибо.

Ещё одну проблему надо решить с этим скриптом! На счёт удаления игры и т.п :(
Как туда вставить свою картинку и поменять положения текста. Может кто подскажет? Заранее благодарю.

Dodakaedr
08-05-2014, 08:30
audiofeel, Пример скрипта скиньте

Shift85
08-05-2014, 08:41
как сделать , чтоб кнопка GroupBrowseButton (созданная через ботву) обновлялась "правильно" »

audiofeel, Вот так примерно. ;)

// Для чек боксов
function NoIcons: Boolean;
begin
Result:= BtnGetEnabled(hGroupBrowseBtn);
end;

procedure NoIconsClick(hBtn:HWND);
var
Check:boolean;
begin
Check:=BtnGetChecked(hBtn);
BtnSetEnabled(hGroupBrowseBtn, not Check);
WizardForm.GroupEdit.Enabled:=not Check;
if Check then NoIconsLabel.Font.Color:=clGray else NoIconsLabel.Font.Color:=$c1c1c1;
end;

procedure NoIconsLabelClick(Sender:TObject);
begin
BtnSetChecked(NoIconsCheck, not BtnGetChecked(NoIconsCheck));
NoIconsClick(NoIconsCheck);
end;

Как туда вставить свою картинку »

Антон_Мураткин@vk, Пример через ботву. http://rghost.ru/55023514

audiofeel
08-05-2014, 12:38
Вот так примерно »
да , видел я эти примеры, у меня нет лейбла "NoIconsLabel", он стандартный, то есть и чек бокс то же стандартный, и груп эдит тоже стандартный, только кнопка груп браузер - через ботву
честно говоря ваще не понял как его ко мне прикрутить
вот скачайте и попробуйте запустить установщик, при первой установке все норм, но если ее повыторить , то естественно инно прочитает в реестре все что делал пользователь и чек бокс "но айконс" будет активен, то есть нажат - НО КНОПКА ГРУПП БРАУЗЕР АКТИВНА
http://rghost.ru/55026079

Shift85
08-05-2014, 13:21
он стандартный, то есть и чек бокс то же стандартный »
audiofeel, На чек бокс

OnClick:= @NoIconsLabelClick;

audiofeel
08-05-2014, 14:12
На чек бокс »
не работает ( не подходит) анкнаун идентифер "но айконс чек"
вот как у меня
function NoIconsCheck: Boolean;
begin
Result:= not WizardForm.NoIconsCheck.Checked;
end;

procedure NoIconsClick(Sender: TObject);
begin
WizardForm.GroupEdit.Enabled:= not WizardForm.NoIconsCheck.Checked;
BtnSetEnabled(GroupBrowseButton, not WizardForm.NoIconsCheck.Checked);
end;

saurn
08-05-2014, 14:49
audiofeel, ну все верно. Вы ведь обновляете статус чекбокса при создании формы мастера, а надо на странице, где расположен чекбокс.
procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
Нужная страница: NoIconsClick(nil); //NoIconsClick(Имя чекбокса);
end;
end;

audiofeel
08-05-2014, 16:14
saurn,
все заработало, но как то странно, указал чек бокс WizardForm.NoIconsCheck.(nil); ошибка, - оставил как у вас NoIconsClick(nil); = работает :o
*************************
wpSelectProgramGroup: begin
WizardForm.SelectStartMenuFolderLabel.Show;
WizardForm.SelectStartMenuFolderBrowseLabel.Show;
WizardForm.GroupEdit.Show;
WizardForm.NoIconsCheck.Show;

BtnSetVisibility(BackButton, True);
BtnSetVisibility(NextButton, True);
BtnSetText(NextButton, ExpandConstant('{cm:NextButton}'));
BtnSetVisibility(CancelButton, True);
BtnSetVisibility(GroupBrowseButton, True);

ImgSetVisibility(Image2, True);
ImgSetVisibility(EditImage, True);
NoIconsClick(nil);
end;

saurn
08-05-2014, 19:47
но как то странно »
Отнюдь. WizardForm. тут лишнее. Вы просто вызываете обработчик NoIconsClick при переходе на страницу.

Антон_Мураткин@vk
08-05-2014, 22:55
Антон_Мураткин@vk
http://rghost.ru/55019065 »
Чтото вообще не чего не меняется. Всю голову уже сломал. Может кто в примере подскажет? Заранее благодарю!!!

Dodakaedr
09-05-2014, 00:49
Может кто в примере подскажет? »
пример c папки inno uninstall (http://rghost.ru/55041542)

Dodakaedr
09-05-2014, 16:56
Подскажите как добавить значок программы в панель управления? Файл .cpl имеется?

Антон_Мураткин@vk
09-05-2014, 18:00
Цитата Dodakaedr:
Профиль | Отправить PM | Цитировать
Цитата Антон_Мураткин@vk:
Может кто в примере подскажет? »
пример c папки inno uninstall »
Нет, всё тоже самое. Или ошибки вылазиют или не чего не меняется. Даже и не знаю где ещё что менять в uninstall. Кто что ещё подскажет?
Заранее благодарю.

Может даже быть что то где то не правильно делаю, вот из-за этого наверное и не получается.
Даже не меняется положение текста и прогрес-бара

Nordek
09-05-2014, 18:59
Dodakaedr,

#define AppID "{2FCBA0AC-DA4C-4BC9-8FBC-D0C18A88C213}"

[Setup]
AppId={{#AppID}
AppName=NetWorx
AppVersion=1.0
DefaultDirName={pf}\NetWorx
DefaultGroupName=NetWorx
UninstallDisplayIcon={app}\networx.exe
OutputDir=.

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: cplnw; Description: Добавить NetWorx в панель управления; Flags: unchecked; GroupDescription: {cm:AdditionalIcons}

[Files]
Source: NetWorx\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs

[Icons]
Name: {group}\NetWorx; Filename: {app}\networx.exe
Name: {group}\{cm:UninstallProgram,NetWorx}; Filename: {uninstallexe}
Name: {commondesktop}\NetWorx; Filename: {app}\networx.exe; Tasks: desktopicon

[Run]
Filename: {app}\networx.exe; Description: {cm:LaunchProgram,NetWorx}; Flags: nowait postinstall skipifsilent

[Registry]
Root: HKCR; SubKey: CLSID\{{#AppID}; ValueType: string; ValueData: NetWorx; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: cplnw
Root: HKCR; SubKey: CLSID\{{#AppID}; ValueType: string; ValueName: InfoTip; ValueData: NetWorx; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: cplnw
Root: HKCR; SubKey: CLSID\{{#AppID}\DefaultIcon; ValueType: string; ValueData: {app}\networx.exe,0; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: cplnw
Root: HKCR; SubKey: CLSID\{{#AppID}\Shell\Open; ValueType: string; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: cplnw
Root: HKCR; SubKey: CLSID\{{#AppID}\Shell\Open\command; ValueType: string; ValueData: {app}\networx.exe; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: cplnw
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{{#AppID}; ValueType: string; ValueData: NetWorx; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: cplnw

Dodakaedr
10-05-2014, 20:42
Nordek, для чего вообще файл .cpl в составе программы?

Антон_Мураткин@vk
11-05-2014, 00:02
Ребят всем привет! Подскажите как понять что за путь до ехе файла получается?

Exec(ExpandConstant('{src}\Redist\vcredist_x86.exe'), '', ExpandConstant('{src}\Redist'), SW_SHOW, ewWaitUntilTerminated, tmp);

Redist - это папка
vcredist_x86.exe - сам ехе файл
{src} - А вот это что?

Папку делаю около скрипта Redist туда кидаю файл vcredist_x86.exe а установка не происходит.

И надо ли писать в скрипте категорию Run для Redistа?

Заранее благодарю!!!

Nordek
11-05-2014, 00:55
Dodakaedr, Код для общей нагрузки дал. А так, файл .cpl достаточно просто поместить в "C:\WINDOWS\system32".




© OSzone.net 2001-2012