JsxmOmxsL
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Помогите пожалуйста объединить ко чтобы он работал ,а то процедура одна и тупик никак не получается . Спасибо тому кто поможет т.к всю ночь бился над проблемой и встал в тупик! [/more] #define ProName "MyProg" [Setup] AppName={#ProName} AppVerName={#ProName} DefaultDirName={pf}\{#ProName} [Languages] Name: rus; MessagesFile: compiler:Languages\Russian.isl [Messages] rus.SetupWindowTitle={#ProName} [Files] Source: C:\Program Files\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion nocompression; [Registry] Root: HKLM; Subkey: "SOFTWARE\{#ProName}"; Flags: uninsdeletekey Root: HKLM; Subkey: "SOFTWARE\{#ProName}"; ValueName: "Path"; ValueType: String; ValueData: "{app}\"; Flags: uninsdeletekey [UninstallDelete] Type: filesandordirs; Name: {app}; [Code] var AppDir, unins, run: string; ResultCode: Integer; UninsButton, RunButton: TButton; MyLabel: TLabel; procedure ReadEntries; begin RegQueryStringValue(HKLM, 'SOFTWARE\{#ProName}', 'Path', AppDir); end; procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin Confirm:= False; end; procedure Uninstall(Sender: TObject); begin unins:='unins000.exe'; ReadEntries; if not (FileExists(AddBackslash(AppDir) + unins)) then MsgBox('Невозможно запустить деинсталляцию программы ' + ExpandConstant('{#Name}') + ', т.к. исполняемый файл деинсталляции unins000.exe не найден.', mbCriticalError, MB_OK or MB_DEFBUTTON1) else Exec(AddBackslash(AppDir) + unins, '', ExtractFilePath(AddBackslash(AppDir) + unins), SW_SHOW, ewNoWait, ResultCode); WizardForm.Close; end; procedure RunProgramm(Sender: TObject); begin run:='MyProg.exe'; ReadEntries; if (FileExists(AddBackslash(AppDir) + run)) then Exec(AddBackslash(AppDir) + run, '', ExtractFilePath(AddBackslash(AppDir) + run), SW_SHOW, ewNoWait, ResultCode); WizardForm.Close; end; procedure NewForm; begin ReadEntries; if (RegValueExists(HKLM, 'SOFTWARE\{#Name}', 'Path')) and (FileExists(ExpandConstant(AppDir)+'\MyProg.exe')) then begin with WizardForm do begin ClientWidth := ScaleX(395); ClientHeight := ScaleY(120); Bevel.Hide; InnerNotebook.Hide; OuterNotebook.Hide; BorderStyle:= bsDialog; Center; with CancelButton do begin Left := WizardForm.CancelButton.Left -100; Top := WizardForm.ClientHeight - CancelButton.Height - ScaleY(10); BringToFront; end; UninsButton:= TButton.Create(WizardForm); with UninsButton do begin Left := WizardForm.NextButton.Left -100; Top := WizardForm.ClientHeight - NextButton.Height - ScaleY(10); Width:= WizardForm.NextButton.Width; Parent:= WizardForm; Caption:= 'Удалить'; OnClick := @Uninstall; BringToFront; end; RunButton:= TButton.Create(WizardForm); with RunButton do begin Left := WizardForm.BackButton.Left -110; Top := WizardForm.ClientHeight - BackButton.Height - ScaleY(10); Width:= WizardForm.BackButton.Width; Parent:= WizardForm; Caption:= 'Запустить'; OnClick := @RunProgramm; BringToFront; end; MyLabel:= TLabel.Create(WizardForm); with MyLabel do begin SetBounds(10,10,380,80); AutoSize:=False; WordWrap:=True; Font.Color:=$000000; Font.Style:=[fsBold]; Font.Size:=10; Parent:=WizardForm; Transparent:=True; Caption:= 'Программа ' + ExpandConstant('{#Name}') + ' уже установлена на Ваш компьютер.' +#13#13+ 'Выберите нужное действие.'; end; end; end; end; procedure InitializeWizard; begin NewForm; end; [/more] Подробнее... |