Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 7]
Антон_Мураткин@vk
07-05-2014, 23:40
добавьте это
читать дальше » »
Не подходит выдаёт ошибку. Пробовал переделать тоже что то не получается. Может кто поможет? Заранее благодарю!!!
Антон_Мураткин@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, Пример скрипта скиньте
как сделать , чтоб кнопка 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
он стандартный, то есть и чек бокс то же стандартный »
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;
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;
но как то странно »
Отнюдь. 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. Кто что ещё подскажет?
Заранее благодарю.
Может даже быть что то где то не правильно делаю, вот из-за этого наверное и не получается.
Даже не меняется положение текста и прогрес-бара
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а?
Заранее благодарю!!!
Dodakaedr, Код для общей нагрузки дал. А так, файл .cpl достаточно просто поместить в "C:\WINDOWS\system32".
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC