|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 9] |
|
Скрипты Inno Setup. Помощь и советы [часть 9]
|
Ветеран Сообщения: 1269 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z |
|
Отправлено: 16:09, 04-04-2018 |
Пользователь Сообщения: 91
|
Профиль | Сайт | Отправить PM | Цитировать Цитата El Sanchez:
2. El Sanchez и Iska - НЕ знаю у кого спросить, подскажите, пожалуйста, где можно найти информацию про подписывания цифровой подписью своего дистрибутива? Видел такую реализацию в некоторых репаках сделанных в Inno Setip и аддонах на основе SFX-архивов и Inno Setup. Пусть это будет "НЕ серьезная" цифровая подпись - просто чтобы проверяла целостность и контрольные суммы файла. |
|
Отправлено: 00:27, 27-01-2019 | #241 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата TROY Diamond:
|
|
Отправлено: 01:09, 27-01-2019 | #242 |
Пользователь Сообщения: 91
|
Профиль | Сайт | Отправить PM | Цитировать Iska, нет это нечто иное сделанное с помощью скрипта, т.к. дальнейшая установка невозможна если места не хватает! А "значения рассчитываются автоматически" - только информирует.
P.S. По второму вопросу кто может помочь? |
Отправлено: 02:10, 27-01-2019 | #243 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата TROY Diamond:
|
|
Отправлено: 05:48, 27-01-2019 | #244 |
Ветеран Сообщения: 1269
|
Профиль | Отправить PM | Цитировать Цитата 1specific:
Цитата 1specific:
Цитата Iska:
|
|||
Отправлено: 11:03, 27-01-2019 | #245 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Цитата El Sanchez:
В целом не понятно какие варианты тогда есть чтобы реализовать задумку на уровне inno setup?) |
|
Отправлено: 11:17, 27-01-2019 | #246 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать Цитата TROY Diamond:
Требуемое место установки
#Define NeedSize 5000 ;;Если у вас архивы FreeArc, то здесь укажите сколько необходимо места в Мб ;;Иначе просто закоментируйте строку ;;Автор: Shegorat [Setup] AppName=My Program AppVerName=My Program v 1.5 DefaultDirName={pf}\My Program OutputDir=. Compression=lzma/ultra InternalCompressLevel=ultra SolidCompression=yes [Languages] Name: ENG; MessagesFile: "compiler:Default.isl" Name: RUS; MessagesFile: "compiler:Languages\Russian.isl" [Files] Source: {win}\help\*.hlp; DestDir: {app}\Files; Flags: external [CustomMessages] RUS.FreeSpace=Доступно места на диске: RUS.NeedSpace=Требуется места на диске: RUS.MB=Мб RUS.GB=Гб RUS.TB=Тб ENG.FreeSpace=Free space on disk: ENG.NeedSpace=Need space on disk: ENG.MB=Mb ENG.GB=Gb ENG.TB=Tb [code] var NeedSpaceLabel,FreeSpaceLabel: TLabel; FreeMB, TotalMB: Cardinal; SizeStr: String; SizeInt: Integer; SymbolNumber: Integer; function GetSize(): Integer; begin SizeStr:= WizardForm.DiskSpaceLabel.Caption; for SymbolNumber:= 97 to 122 do begin while (Pos(Chr(SymbolNumber), SizeStr) > 0) do Delete(SizeStr, Pos(Chr(SymbolNumber), SizeStr),1); while (Pos(AnsiUppercase(Chr(SymbolNumber)), SizeStr) > 0) do Delete(SizeStr, Pos(AnsiUppercase(Chr(SymbolNumber)), SizeStr),1); end; for SymbolNumber:= 192 to 255 do begin while (Pos(Chr(SymbolNumber), SizeStr) > 0) do Delete(SizeStr, Pos(Chr(SymbolNumber), SizeStr),1); end; while (Pos('.', SizeStr) > 0) do Delete(SizeStr, Pos('.', SizeStr), 1); Delete(SizeStr, Pos(',', SizeStr), 5) Result:= StrToInt(Trim(SizeStr)); end; function CompareNum(FirstNum, SecondNum: Integer): Boolean; begin if FirstNum < SecondNum then Result:= False else Result:= True; end; function NumToStr(Float: Extended): String; begin Result:= Format('%.2f', [Float]); StringChange(Result, ',', '.'); while ( Pos('.', Result) > 0 ) and ( (Result[Length(Result)] = '0') or (Result[Length(Result)] = '.') ) do SetLength(Result, Length(Result) - 1); end; function MbOrTb(Float: Extended): String; begin if Float < 1024 then Result:= NumToStr(Float)+ExpandConstant(' {cm:MB}') else if Float/1024 < 1024 then Result:= NumToStr(Float/1024)+ExpandConstant(' {cm:GB}') else Result:= NumToStr(Float/(1024*1024))+ExpandConstant(' {cm:TB}'); end; procedure GetFreeSpaceCaption(Sender: TObject); var Path: String; begin Path:= ExtractFileDrive(WizardForm.DirEdit.Text); GetSpaceOnDisk(Path, True, FreeMB, TotalMB); FreeSpaceLabel.Caption:= ExpandConstant('{cm:FreeSpace} ') + MbOrTb(FreeMB); NeedSpaceLabel.Caption:= ExpandConstant('{cm:NeedSpace} ') + MbOrTb(SizeInt); if WizardForm.CurPageID = wpSelectDir then begin WizardForm.NextButton.Enabled:= CompareNum(FreeMB, SizeInt); end; end; procedure InitializeWizard(); begin WizardForm.DiskSpaceLabel.Hide; #ifdef NeedSize SizeInt:= {#NeedSize} #else SizeInt:= GetSize; #endif NeedSpaceLabel:= TLabel.Create(WizardForm); NeedSpaceLabel.SetBounds(ScaleX(0), ScaleY(198), ScaleX(209), ScaleY(13)) NeedSpaceLabel.Parent:= WizardForm.SelectDirPage; NeedSpaceLabel.Transparent:= true; FreeSpaceLabel:= TLabel.Create(WizardForm); FreeSpaceLabel.SetBounds(ScaleX(0), ScaleY(216), ScaleX(209), ScaleY(13)) FreeSpaceLabel.Parent:= WizardForm.SelectDirPage; FreeSpaceLabel.Transparent:= true; WizardForm.DirEdit.OnChange:= @GetFreeSpaceCaption; WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text + #0; end; procedure CurPageChanged(CurPageID: Integer); begin if CurPageID = wpSelectDir then GetFreeSpaceCaption(nil); end; |
|
------- Последний раз редактировалось nik1967, 27-01-2019 в 16:16. Отправлено: 14:24, 27-01-2019 | #247 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата El Sanchez:
Цитата El Sanchez:
Цитата Iska:
|
|||
Отправлено: 14:50, 27-01-2019 | #248 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Значит делаем как можем. Кто готов - пожалуйста, буду рад обсудить детали и приступить. На данный момент нужно хоть какое то решение, дальше уже можно будет переделывать и улучшать. |
|
Отправлено: 18:49, 27-01-2019 | #249 |
Пользователь Сообщения: 91
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 19:36, 27-01-2019 | #250 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 7] | El Sanchez | Автоматическая установка приложений | 2499 | 02-02-2015 08:59 | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 |
|