Ekspoint 2,122 #366794 Posted November 22, 2016 а че заходить то, на эти вопросы не один раз давались ответы, просто нужно почитать тему :) 1 Quote Share this post Link to post Short link Share on other sites
Draug 59 #366917 Posted November 24, 2016 а че заходить то, на эти вопросы не один раз давались ответы, просто нужно почитать тему :) да тут пока все темы перечитаешь забудешь зачем пришел)) 1 Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #367423 Posted November 28, 2016 (edited) помогите переписать скрипт чтоб созданный компонент лист был после стандартного компонент листа а не вначале инстолятора [setup]AppName=My ProgramAppVerName=My Program v.1.2DefaultDirName={pf}\My Program[Components]Name: KMP; Description: MODPACK ; typeTComponentDesc = recordDescription: String;ImageName: String;Index: Integer;end;varComponentsPage: TWizardPage;ComponentsList: TNewCheckListBox;CompDescs: array of TComponentDesc;CompDescPanel, CompDescImgPanel: TPanel;CompIndex, LastIndex: Integer;CompDescImg: TBitmapImage;procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea);vari: Integer;beginif Index = LastIndex then Exit;CompIndex := -1;for i := 0 to GetArrayLength(CompDescs) -1 dobeginif (CompDescs[i].Index = Index) thenbeginCompIndex := i;Break;end;end;if (CompIndex >= 0) and (Area = iaItem) thenbeginif not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) thenExtractTemporaryFile(CompDescs[CompIndex].ImageName);CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName);CompDescImg.Show;end elsebeginCompDescImg.Hide;end;LastIndex := Index;end;procedure CompListMouseLeave(Sender: TObject);beginCompDescImg.Hide;LastIndex := -1;end;procedure AddCompDescription(AIndex: Integer; ADescription: String; AImageName: String);vari: Integer;begini := GetArrayLength(CompDescs);SetArrayLength(CompDescs, i + 1);CompDescs[i].Description := ADescription;CompDescs[i].ImageName := AImageName;CompDescs[i].Index := AIndex - 1end;procedure RedesignWizardForm;beginComponentsPage := CreateCustomPage(wpWelcome, SetupMessage(msgWizardSelectComponents), SetupMessage(msgSelectComponentsDesc));ComponentsList := TNewCheckListBox.Create(WizardForm);with ComponentsList dobeginParent := ComponentsPage.Surface;SetBounds(ScaleX(0), ScaleY(0), ScaleX(184), ScaleY(205));OnItemMouseMove := @ShowCompDescription;AddCheckBox('МСМТМИТМТМ', '', 0, False, True, False, True, nil);AddRadioButton('Battle Assistant', '', 1, False, True, nil);end;CompDescImgPanel := TPanel.Create(WizardForm);with CompDescImgPanel dobeginParent := ComponentsPage.Surface;SetBounds(ScaleX(192), ScaleY(0), ScaleX(225), ScaleY(120)); //=========размер рамки картинкиBevelInner := bvLowered;end;CompDescImg := TBitmapImage.Create(WizardForm);with CompDescImg dobeginParent := CompDescImgPanel;SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10));//=========размер картинкиStretch := True;Hide;end;AddCompDescription(2, ('CompDesc1'), 'CompDescImg1.bmp');end;function IsComponent(CompIndex: Integer): Boolean;vari: Integer;beginResult := False;for i := 0 to ComponentsList.ItemCount - 1 dobeginif CompIndex <= (ComponentsList.ItemCount - 1) thenResult := ComponentsList.Checked[CompIndex];end;end;procedure InitializeWizard();beginRedesignWizardForm;end; Edited November 28, 2016 by sergy2010 Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #367427 Posted November 28, 2016 помогите переписать скрипт чтоб созданный компонент лист был после стандартного компонент листа а не вначале инстолятора [setup]AppName=My Program AppVerName=My Program v.1.2 DefaultDirName={pf}\My Program [Components] Name: KMP; Description: MODPACK ; typeTComponentDesc = recordDescription: String;ImageName: String;Index: Integer;end; varComponentsPage: TWizardPage;ComponentsList: TNewCheckListBox;CompDescs: array of TComponentDesc;CompDescPanel, CompDescImgPanel: TPanel;CompIndex, LastIndex: Integer;CompDescImg: TBitmapImage; procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea);vari: Integer;beginif Index = LastIndex then Exit;CompIndex := -1;for i := 0 to GetArrayLength(CompDescs) -1 dobeginif (CompDescs[i].Index = Index) thenbeginCompIndex := i;Break;end;end;if (CompIndex >= 0) and (Area = iaItem) thenbeginif not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) thenExtractTemporaryFile(CompDescs[CompIndex].ImageName);CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName);CompDescImg.Show;end elsebeginCompDescImg.Hide;end;LastIndex := Index;end; procedure CompListMouseLeave(Sender: TObject);beginCompDescImg.Hide;LastIndex := -1;end; procedure AddCompDescription(AIndex: Integer; ADescription: String; AImageName: String);vari: Integer;begini := GetArrayLength(CompDescs);SetArrayLength(CompDescs, i + 1);CompDescs[i].Description := ADescription;CompDescs[i].ImageName := AImageName;CompDescs[i].Index := AIndex - 1end; procedure RedesignWizardForm;beginComponentsPage := CreateCustomPage(wpWelcome, SetupMessage(msgWizardSelectComponents), SetupMessage(msgSelectComponentsDesc)); ComponentsList := TNewCheckListBox.Create(WizardForm);with ComponentsList dobeginParent := ComponentsPage.Surface;SetBounds(ScaleX(0), ScaleY(0), ScaleX(184), ScaleY(205));OnItemMouseMove := @ShowCompDescription; AddCheckBox('МСМТМИТМТМ', '', 0, False, True, False, True, nil); AddRadioButton('Battle Assistant', '', 1, False, True, nil);end; CompDescImgPanel := TPanel.Create(WizardForm);with CompDescImgPanel dobeginParent := ComponentsPage.Surface;SetBounds(ScaleX(192), ScaleY(0), ScaleX(225), ScaleY(120)); //=========размер рамки картинкиBevelInner := bvLowered;end; CompDescImg := TBitmapImage.Create(WizardForm);with CompDescImg dobeginParent := CompDescImgPanel;SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10));//=========размер картинкиStretch := True;Hide;end; AddCompDescription(2, ('CompDesc1'), 'CompDescImg1.bmp');end; function IsComponent(CompIndex: Integer): Boolean;vari: Integer;beginResult := False;for i := 0 to ComponentsList.ItemCount - 1 dobeginif CompIndex <= (ComponentsList.ItemCount - 1) thenResult := ComponentsList.Checked[CompIndex];end;end; procedure InitializeWizard();beginRedesignWizardForm; end;wpWelcome на wpSelectComponents замени 1 Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #367428 Posted November 28, 2016 ОГРОМАДНОЕ СПАСИБО Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #367526 Posted November 29, 2016 здарово лом красиво день начался с волны банов за читы 1 1 Quote Share this post Link to post Short link Share on other sites
Lom 48 #367527 Posted November 29, 2016 даров) авось пронесет)) 1 Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #367529 Posted November 29, 2016 я тоже надеюсь пока только катал на гк и в рандом незаходил случаем не знаешь скрипт чтоб автоматом находил папку с игрой Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #367546 Posted November 29, 2016 (edited) я тоже надеюсь пока только катал на гк и в рандом незаходил случаем не знаешь скрипт чтоб автоматом находил папку с игрой Вот пожалуйста, хотя все это есть в этой теме, но ленивым помогу..... 'Скрипт автоопределения папки с игрой' ; Скрипт создан через Мастер Inno Setup Script. ; ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP! #define Patch "0.9.16" [Setup] AppName=My Application AppVersion=1.5 DefaultDirName={code:WotDirNameRU} [Code] function WotDirNameRU(Path: String): String; // ключ для основного клиента {1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1 begin if RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then begin RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path); Result := Path end else if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then begin RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path); Result := Path end else if RegKeyExists(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then begin RegQueryStringValue(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path); Result := Path end else if RegKeyExists(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then begin RegQueryStringValue(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path); Result := Path end else Result := ExpandConstant('C:\Games\World_of_Tanks'); end; //""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""// function WotDirNameCT(Path: String): String; // ключ для тестового клиента {1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1 begin if RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1') then begin RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1', 'InstallLocation', Path); Result := Path end else if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1') then begin RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1', 'InstallLocation', Path); Result := Path end else if RegKeyExists(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1') then begin RegQueryStringValue(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1', 'InstallLocation', Path); Result := Path end else if RegKeyExists(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1') then begin RegQueryStringValue(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1', 'InstallLocation', Path); Result := Path end else Result := ExpandConstant('C:\Games\World_of_Tanks_CT'); end; Edited November 30, 2016 by Nowik1971 1 Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #367553 Posted November 30, 2016 (edited) всё равно не находит папку с игрой в скрипте не чего не изменял прописал как на скриншоте Edited November 30, 2016 by sergy2010 Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #367554 Posted November 30, 2016 (edited) всё равно не находит папку с игрой в скрипте не чего не изменял прописал как на скриншоте Если в примере работает, то проверяй на своей стороне.... ты мой пример просто скомпиль и проверь и все будет работать... если все работает на примере, то ищи ошибку у себя.... Edited November 30, 2016 by Nowik1971 Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #367555 Posted November 30, 2016 скомпилер не фига не ищет C:\Program Files (x86)\My Application Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #367556 Posted November 30, 2016 скомпилер не фига не ищет C:\Program Files (x86)\My Application У себя в скрипте поменяй DefaultDirName=C:\Games\World_of_Tanks на DefaultDirName={code:WotDirNameRU} и все будет работать блин... Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #367557 Posted November 30, 2016 да давно я поменял ,у меня танки на диске D а он мне всё суёт диск С может просто ключи не подходят под мою версию винды и всё в таком роде Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #367558 Posted November 30, 2016 да давно я поменял ,у меня танки на диске D а он мне всё суёт диск С может просто ключи не подходят под мою версию винды и всё в таком роде Ищет по реестру установленную программу и если ставил на С, а потом просто перенес на D то не знаю найдет или нет.... Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #367559 Posted November 30, 2016 всё равно он мне даёт путь C:\Games\World_of_Tanks а у меня танки на диске D Ищет по реестру установленную программу и если ставил на С, а потом просто перенес на D то не знаю найдет или нет скорей всего так и есть я скачивал на диск С а потом перетащил на диск D Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #367561 Posted November 30, 2016 всё равно он мне даёт путь C:\Games\World_of_Tanks а у меня танки на диске D скорей всего так и есть я скачивал на диск С а потом перетащил на диск D Я так и подозревал, потому, что у ребят в других папках стоит как и писал тебе на форуме, а у них все находит....Хотя .... может в чем-то и не прав надо у гуру здесь спрашивать я сам чайник самоучка... 1 1 Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #367562 Posted November 30, 2016 да ща скачаю танки на другой диск и проверю хотя твоя сборка сразу мой путь находит Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #367564 Posted November 30, 2016 (edited) ... модератор удали этот пост.. пожалуйста.... Edited November 30, 2016 by Nowik1971 1 2 Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #367565 Posted November 30, 2016 (edited) походу всё получилось даже с не доскачеными танками нашёл путь туда куда нужно Edited November 30, 2016 by sergy2010 Quote Share this post Link to post Short link Share on other sites