Prost Posted December 13, 2014 Share Posted December 13, 2014 InnoTools Downloader, Inno Download Plugin. эти плагины нужно скачать? @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted December 13, 2014 Share Posted December 13, 2014 эти плагины нужно скачать? да @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted December 13, 2014 Share Posted December 13, 2014 эти плагины нужно скачать? Ну можешь свой написать, тут уже как хочешь. @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted December 13, 2014 Share Posted December 13, 2014 Ну можешь свой написать, тут уже как хочешь. как правильно объединить чтобы работало без ошибок? вот это function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: begin if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Установка модов невозможна, так как по выбранному пути отсутствует клиент игры World of Tanks. Выберите правильный путь и продолжайте установку!', mbError, MB_OK); Result := False; end; if FileExists(ExpandConstant('{app}')+'\WorldOfTanks.exe') then begin if FileVersion(ExpandConstant('{app}')+'\WorldOfTanks.exe') < '{#Patch}' then begin MsgBoxEx(WizardForm.Handle, 'Моды не будут работать на данной версии игры! Моды предназначены для версии патча {#Patch} ', 'Моды не подходят к данному патчу World of Tanks', MB_OK or MB_ICONWARNING, 0, 0); Result:= false; end;end; end; end; end; и вот это function NextButtonClick(CurPageID: Integer): Boolean; begin Result:= True; if WizardSelectedComponents(False) = '' then begin MsgBox('Ни один из компонентов не выбран!', mbInformation, MB_OK); Result:= False; end; end; @ Quote Link to comment Short link Share on other sites More sharing options...
Prost Posted December 13, 2014 Share Posted December 13, 2014 Ну можешь свой написать, тут уже как хочешь. я его установил в папку с прогой, что теперь прописывать что бы этот файл скачивался? @ Quote Link to comment Short link Share on other sites More sharing options...
Pokaritel_VBR Posted December 13, 2014 Share Posted December 13, 2014 слушайте, дайте лого , вам чё сложно? я то нашёл пример , но он какой-то тупой @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted December 13, 2014 Share Posted December 13, 2014 (edited) я его установил в папку с прогой, что теперь прописывать что бы этот файл скачивался? Установка плагина - это всего-лишь распаковка файлов в какую-то папку. Только этого мало. В папке с установленным плагином есть примеры его использования. @Ekspoint, Function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: begin if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Установка модов невозможна, так как по выбранному пути отсутствует клиент игры World of Tanks. Выберите правильный путь и продолжайте установку!', mbError, MB_OK); Result := False; end; if FileExists(ExpandConstant('{app}')+'\WorldOfTanks.exe') then begin if FileVersion(ExpandConstant('{app}')+'\WorldOfTanks.exe') < '{#Patch}' then begin MsgBoxEx(WizardForm.Handle, 'Моды не будут работать на данной версии игры! Моды предназначены для версии патча {#Patch} ', 'Моды не подходят к данному патчу World of Tanks', MB_OK or MB_ICONWARNING, 0, 0); Result:= false; end; end; end; wpSelectComponents: begin if WizardSelectedComponents(False) = '' then begin MsgBox('Ни один из компонентов не выбран!', mbInformation, MB_OK); Result:= False; end; end; end; end; Edited December 13, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted December 13, 2014 Share Posted December 13, 2014 @Ekspoint, Function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: begin if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Установка модов невозможна, так как по выбранному пути отсутствует клиент игры World of Tanks. Выберите правильный путь и продолжайте установку!', mbError, MB_OK); Result := False; end; if FileExists(ExpandConstant('{app}')+'\WorldOfTanks.exe') then begin if FileVersion(ExpandConstant('{app}')+'\WorldOfTanks.exe') < '{#Patch}' then begin MsgBoxEx(WizardForm.Handle, 'Моды не будут работать на данной версии игры! Моды предназначены для версии патча {#Patch} ', 'Моды не подходят к данному патчу World of Tanks', MB_OK or MB_ICONWARNING, 0, 0); Result:= false; end; end; end; wpSelectComponents: begin if WizardSelectedComponents(False) = '' then begin MsgBox('Ни один из компонентов не выбран!', mbInformation, MB_OK); Result:= False; end; end; end; end; спасибо а почему в таком виде не пашет ? Function NextButtonClick1(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: begin if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Установка модов невозможна, так как по выбранному пути отсутствует клиент игры World of Tanks. Выберите правильный путь и продолжайте установку!', mbError, MB_OK); Result := False; end; end; end; end; Function NextButtonClick2(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: begin if FileExists(ExpandConstant('{app}')+'\WorldOfTanks.exe') then begin if FileVersion(ExpandConstant('{app}')+'\WorldOfTanks.exe') < '{#Patch}' then begin MsgBoxEx(WizardForm.Handle, 'Моды не будут работать на данной версии игры! Моды предназначены для версии патча {#Patch} ', 'Моды не подходят к данному патчу World of Tanks', MB_OK or MB_ICONWARNING, 0, 0); Result:= false; end; end; end; end; end; Function NextButtonClick3(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectComponents: begin if WizardSelectedComponents(False) = '' then begin MsgBox('Ни один из компонентов не выбран!', mbInformation, MB_OK); Result:= False; end; end; end; end; Function NextButtonClick(CurPageID: Integer): Boolean; begin NextButtonClick1(CurPageID) NextButtonClick2(CurPageID) NextButtonClick3(CurPageID) end; @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted December 13, 2014 Share Posted December 13, 2014 (edited) а почему в таком виде не пашет ? Если в первом NextButtonClick результатом будет False, то следующий, с результатом True, перекроет предыдущий. Такая же история со вторым и третьим; первым и третьим.. Плюс ко всему, в главной NextButtonClick желательно вписывать Result := True, в начале. Edited December 13, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted December 13, 2014 Share Posted December 13, 2014 Если в первом NextButtonClick результатом будет False, то следующий, с результатом True, перекроет предыдущий. Такая же история со вторым и третьим; первым и третьим.. Плюс ко всему, в главной NextButtonClick желательно вписывать Result := True, в начале. вот так? Function NextButtonClick1(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: begin if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Установка модов невозможна, так как по выбранному пути отсутствует клиент игры World of Tanks. Выберите правильный путь и продолжайте установку!', mbError, MB_OK); Result := False; end; end; end; end; Function NextButtonClick2(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: begin if FileExists(ExpandConstant('{app}')+'\WorldOfTanks.exe') then begin if FileVersion(ExpandConstant('{app}')+'\WorldOfTanks.exe') < '{#Patch}' then begin MsgBoxEx(WizardForm.Handle, 'Моды не будут работать на данной версии игры! Моды предназначены для версии патча {#Patch} ', 'Моды не подходят к данному патчу World of Tanks', MB_OK or MB_ICONWARNING, 0, 0); Result:= false; end; end; end; end; end; Function NextButtonClick3(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectComponents: begin if WizardSelectedComponents(False) = '' then begin MsgBox('Ни один из компонентов не выбран!', mbInformation, MB_OK); Result:= False; end; end; end; end; Function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; NextButtonClick1(CurPageID) NextButtonClick2(CurPageID) NextButtonClick3(CurPageID) end; @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted December 13, 2014 Share Posted December 13, 2014 (edited) вот так? Ты из всего моего сообщения понял только то, что можно дописать результат (и то, не обязательно) ? Это тебе ничего не даст, в этой ситуации. Edited December 13, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted December 13, 2014 Share Posted December 13, 2014 (edited) Ты из всего моего сообщения понял только то, что можно дописать результат (и то, не обязательно) ? Это тебе ничего не даст, в этой ситуации. че то не допер где менять надо Edited December 13, 2014 by Ekspoint @ Quote Link to comment Short link Share on other sites More sharing options...
Prost Posted December 13, 2014 Share Posted December 13, 2014 Установка плагина - это всего-лишь распаковка файлов в какую-то папку. Только этого мало. В папке с установленным плагином есть примеры его использования. @Ekspoint, Function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: begin if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Установка модов невозможна, так как по выбранному пути отсутствует клиент игры World of Tanks. Выберите правильный путь и продолжайте установку!', mbError, MB_OK); Result := False; end; if FileExists(ExpandConstant('{app}')+'\WorldOfTanks.exe') then begin if FileVersion(ExpandConstant('{app}')+'\WorldOfTanks.exe') < '{#Patch}' then begin MsgBoxEx(WizardForm.Handle, 'Моды не будут работать на данной версии игры! Моды предназначены для версии патча {#Patch} ', 'Моды не подходят к данному патчу World of Tanks', MB_OK or MB_ICONWARNING, 0, 0); Result:= false; end; end; end; wpSelectComponents: begin if WizardSelectedComponents(False) = '' then begin MsgBox('Ни один из компонентов не выбран!', mbInformation, MB_OK); Result:= False; end; end; end; end; Я выбрал 1 экзепляр #define MyAppName "My Program"#define MyAppVerName "My Program 1.5" #define MyAppPublisher "My Company, Inc." #define MyAppURL "http://www.mycompany.com" [setup] AppName={#MyAppName} AppVerName={#MyAppVerName} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} OutputBaseFilename=example1 Compression=lzma SolidCompression=true CreateAppDir=true ShowLanguageDialog=yes [Languages] Name: english; MessagesFile: compiler:Default.isl #include ReadReg(HKEY_LOCAL_MACHINE,'Software\Sherlock Software\InnoTools\Downloader','ScriptPath',''); procedure InitializeWizard();beginitd_init; //Let's download two zipfiles from my website..itd_addfile('http://www.sherlocksoftware.org/petz/files/dogz5.zip,expandconstant({tmp}\dogz5.zip'));itd_addfile('http://www.sherlocksoftware.org/petz/files/petz4.zip,expandconstant({tmp}\petz4.zip')); //Start the download after the "Ready to install" screen is shownitd_downloadafter(wpReady);end; procedure CurStepChanged(CurStep: TSetupStep);beginif CurStep=ssInstall then begin //Lets install those files that were downloaded for usfilecopy(expandconstant('{tmp}\dogz5.zip'),expandconstant('{app}\dogz5.zip'),false);filecopy(expandconstant('{tmp}\petz4.zip'),expandconstant('{app}\petz4.zip'),false);end;end;Но как сделать так что он скачивал выбранный мод, например прицел (качает)дамаг панель (качает)и т д, то есть выбираешь тот или иной мод и он его качает, ведь тут не написано название компонента @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted December 13, 2014 Share Posted December 13, 2014 (edited) Я выбрал 1 экзепляр #define MyAppName "My Program"#define MyAppVerName "My Program 1.5" #define MyAppPublisher "My Company, Inc." #define MyAppURL "http://www.mycompany.com" [setup] AppName={#MyAppName} AppVerName={#MyAppVerName} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} OutputBaseFilename=example1 Compression=lzma SolidCompression=true CreateAppDir=true ShowLanguageDialog=yes [Languages] Name: english; MessagesFile: compiler:Default.isl #include ReadReg(HKEY_LOCAL_MACHINE,'Software\Sherlock Software\InnoTools\Downloader','ScriptPath',''); procedure InitializeWizard();beginitd_init; //Let's download two zipfiles from my website..itd_addfile('http://www.sherlocksoftware.org/petz/files/dogz5.zip,expandconstant({tmp}\dogz5.zip'));itd_addfile('http://www.sherlocksoftware.org/petz/files/petz4.zip,expandconstant({tmp}\petz4.zip')); //Start the download after the "Ready to install" screen is shownitd_downloadafter(wpReady);end; procedure CurStepChanged(CurStep: TSetupStep);beginif CurStep=ssInstall then begin //Lets install those files that were downloaded for usfilecopy(expandconstant('{tmp}\dogz5.zip'),expandconstant('{app}\dogz5.zip'),false);filecopy(expandconstant('{tmp}\petz4.zip'),expandconstant('{app}\petz4.zip'),false);end;end;Но как сделать так что он скачивал выбранный мод, например прицел (качает)дамаг панель (качает)и т д, то есть выбираешь тот или иной мод и он его качает, ведь тут не написано название компонента 75 стр смотри Edited December 13, 2014 by Ekspoint @ Quote Link to comment Short link Share on other sites More sharing options...
MEDNIKs Posted December 13, 2014 Share Posted December 13, 2014 ребята ,как сделать надпись в лейбле вот так НАНАНАНАНАНАНАНАНАН ,а то получается вот так НАНАНАНАНАНАНАНАНАН тратата тратата @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted December 13, 2014 Share Posted December 13, 2014 ребята ,как сделать надпись в лейбле вот так НАНАНАНАНАНАНАНАНАН ,а то получается вот так НАНАНАНАНАНАНАНАНАН тратата тратата двигай @ Quote Link to comment Short link Share on other sites More sharing options...
MEDNIKs Posted December 13, 2014 Share Posted December 13, 2014 двигай пробелами не получается @ Quote Link to comment Short link Share on other sites More sharing options...
Prost Posted December 13, 2014 Share Posted December 13, 2014 (edited) 75 стр смотри /// --- UnPack Begin --- /// procedure ExtractResources(); var ResultCode: Integer; begin ExtractTemporaryFile('7zA.exe'); CreateDir(ExpandConstant('{app}\7zA_Files')); CreateDir(ExpandConstant('{app}\res_mods')); FileCopy(ExpandConstant('{tmp}\7zA.exe'), ExpandConstant('{app}\7zA_Files\7zA.exe'), False); If (IsComponentSelected('Bla\1')) and (FileExists(ExpandConstant('{app}\hangar_1.7z'))) then begin Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\hangar_1.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode); DeleteFile(ExpandConstant('{app}\hangar_1.7z')); end; If (IsComponentSelected('Bla\2')) and (FileExists(ExpandConstant('{app}\hangar_2.7z'))) then begin Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\hangar_2.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode); DeleteFile(ExpandConstant('{app}\hangar_2.7z')); end; DelTree(ExpandConstant('{app}\7zA_Files'), True, True, True); end; procedure CurStepChanged(CurStep: TSetupStep); begin If CurStep=ssDone then begin ExtractResources(); end; end; /// --- UnPack End --- /// Данный код обязательно нужен? если например я делаю установщик не для wot, а просто закачку какого либо файла? Ну типа что бы скачать эмулятор телефона обязательно нужен данный код в скрипте? или можно оставить только procedure CurPageChanged(CurPageID: Integer);begin if CurPageID = wpInstalling then begin if IsComponentSelected('Bla\1') then begin idpAddFile('http://www.com/hangar_1.7z' ExpandConstant('{app}\hangar_1.7z')); end; if IsComponentSelected('Bla\2') then begin idpAddFile('http://www.com/hangar_2.7z' ExpandConstant('{app}\hangar_2.7z')); end; end; end; procedure InitializeWizard(); begin idpDownloadAfter(wpInstalling); end; 75 стр смотри и ещё вопрос. если я загрузил архив на яндекс диск, то как мне вставлять ссылку? или же на других сайтах Edited December 13, 2014 by Prost @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted December 13, 2014 Share Posted December 13, 2014 (edited) или можно оставить только Можно. ребята ,как сделать надпись в лейбле вот так НАНАНАНАНАНАНАНАНАН ,а то получается вот так НАНАНАНАНАНАНАНАНАН тратата тратата Покажи как создан этот лейбл. и ещё вопрос. если я загрузил архив на яндекс диск, то как мне вставлять ссылку? Никак. Я.Диск с некоторых пор перестал поддерживать прямой доступ к серверу. Edited December 13, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted December 13, 2014 Share Posted December 13, 2014 /// --- UnPack Begin --- /// procedure ExtractResources(); var ResultCode: Integer; begin ExtractTemporaryFile('7zA.exe'); CreateDir(ExpandConstant('{app}\7zA_Files')); CreateDir(ExpandConstant('{app}\res_mods')); FileCopy(ExpandConstant('{tmp}\7zA.exe'), ExpandConstant('{app}\7zA_Files\7zA.exe'), False); If (IsComponentSelected('Bla\1')) and (FileExists(ExpandConstant('{app}\hangar_1.7z'))) then begin Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\hangar_1.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode); DeleteFile(ExpandConstant('{app}\hangar_1.7z')); end; If (IsComponentSelected('Bla\2')) and (FileExists(ExpandConstant('{app}\hangar_2.7z'))) then begin Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\hangar_2.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode); DeleteFile(ExpandConstant('{app}\hangar_2.7z')); end; DelTree(ExpandConstant('{app}\7zA_Files'), True, True, True); end; procedure CurStepChanged(CurStep: TSetupStep); begin If CurStep=ssDone then begin ExtractResources(); end; end; /// --- UnPack End --- /// Данный код обязательно нужен? если например я делаю установщик не для wot, а просто закачку какого либо файла? Ну типа что бы скачать эмулятор телефона обязательно нужен данный код в скрипте? или можно оставить только procedure CurPageChanged(CurPageID: Integer);begin if CurPageID = wpInstalling then begin if IsComponentSelected('Bla\1') then begin idpAddFile('http://www.com/hangar_1.7z' ExpandConstant('{app}\hangar_1.7z')); end; if IsComponentSelected('Bla\2') then begin idpAddFile('http://www.com/hangar_2.7z' ExpandConstant('{app}\hangar_2.7z')); end; end; end; procedure InitializeWizard(); begin idpDownloadAfter(wpInstalling); end; и ещё вопрос. если я загрузил архив на яндекс диск, то как мне вставлять ссылку? или же на других сайтах только прямая ссылка файлообменики не помогут @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.