|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
|
Отправлено: 08:52, 02-02-2015 |
|
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать habib2302, Заменить команду /DIR на /D
function GetDirFromCMD(kWord: string): string;
var
i, lStr: integer;
begin
Result := WizardDirValue;
lStr := Length(kWord);
for i := 0 to ParamCount do begin
if Pos(LowerCase(kWord), LowerCase(ParamStr(i))) > 0 then begin
Result := Copy(ParamStr(i), Pos(LowerCase(kWord), LowerCase(ParamStr(i))) + lStr,
Length(ParamStr(i)) - lStr);
while (Result[1] = '"') and (Result[Length(Result)] = '"') do
begin
Delete(Result, Length(Result), 1);
Delete(Result, 1, 1);
end;
end;
if Result <> WizardDirValue then
Break;
end;
end;
procedure InitializeWizard();
begin
WizardForm.DirEdit.Text := GetDirFromCMD('/D='); // можно поменять на любую букву
end;
|
|
Отправлено: 09:49, 26-06-2015 | #741 |
|
Пользователь Сообщения: 79
|
Профиль | Отправить PM | Цитировать как показать TasksList через CurPageChanged; (Как в скрипте от Serega.)
|
|
Отправлено: 17:19, 27-06-2015 | #742 |
|
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Цитата PlanktoN:
Как перед запуском инсталлятора проверить подключен ли компьютер к интернет? Если интернет подключен, то выдать сообщение "Имеется активное подключение к интернет! Отключите интернет и попробуйте снова!" (mb_ok), если нет то продолжить установку. |
|
|
Отправлено: 19:17, 28-06-2015 | #743 |
|
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать Цитата AlekseyPopovv:
Function InternetGetConnectedState(var lpdwFlags: DWORD; dwReserved: DWORD): Boolean;
external 'InternetGetConnectedState@wininet.dll stdcall';
Function InitializeSetup(): Boolean;
begin
if not InternetGetConnectedState(ConnectionState, 0) then
Result := True
else
begin
MsgBox('Имеется активное подключение к интернет! Отключите интернет и попробуйте снова!', mbError, MB_OK);
Result := False;
end;
end;
|
|
|
------- Последний раз редактировалось kotyarko@fb, 28-06-2015 в 19:54. Отправлено: 19:48, 28-06-2015 | #744 |
|
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать kotyarko@fb, В первом варианте вообще не собирается скрипт, во втором варианте всё собирается, но всегда пишет что интернета нет и продолжает установку!
|
|
Отправлено: 20:31, 28-06-2015 | #745 |
|
Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Цитата AlekseyPopovv:
[setup]
appname=app
appversion=1.0
defaultdirname={sd}\app
[Code]
var
ConnectionState: DWORD;
Function InternetGetConnectedState(var lpdwFlags: DWORD; dwReserved: DWORD): Boolean;
external 'InternetGetConnectedState@wininet.dll stdcall';
Function InitializeSetup(): Boolean;
begin
if not InternetGetConnectedState(ConnectionState, 0) then
Result := True
else
begin
MsgBox('Имеется активное подключение к интернет! Отключите интернет и попробуйте снова!', mbError, MB_OK);
Result := False;
end;
end;
|
|
|
------- Отправлено: 00:07, 29-06-2015 | #746 |
|
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 04:40, 29-06-2015 | #747 |
|
Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Цитата AlekseyPopovv:
Скрытый текст
[setup]
appname=app
appversion=1.0
defaultdirname={sd}\app
[Code]
var
ConnectionState: DWORD;
Int: boolean;
Function InternetGetConnectedState(var lpdwFlags: DWORD; dwReserved: DWORD): Boolean;
external 'InternetGetConnectedState@wininet.dll stdcall';
Function InitializeSetup(): Boolean;
begin
if not InternetGetConnectedState(ConnectionState, 0) then
Result := True
else
begin
MsgBox('Имеется активное подключение к интернет! Отключите интернет и попробуйте снова!', mbError, MB_OK);
Result := False;
end;
end;
procedure InitializeWizard();
begin
Int := True;
end;
procedure DeinitializeSetup();
begin
if Int <> False then
begin
ISWin7DeInit;
end;
end;
|
|
|
------- Отправлено: 07:12, 29-06-2015 | #748 |
|
Ветеран Сообщения: 862
|
Профиль | Отправить PM | Цитировать доброе время суток. подскажите пожалуйста код для ansi на проверку на наличие файла перед распаковкой файлов
у меня есть один код, но при компиляции выдает ошибку [code]
var found: boolean;
procedure NextButtonClick (CurPageID: integer): boolean;
begin
if CurPageID=wpSelectDir then
begin
if not FileExists(AddBackslash(WizardForm.DirEdit.text) + 'CaptureDotNetRes.dll') then
begin
found:=false;
result:=false;
MsgBox('Отсутствуют некоторые файлы. Установка будет прервана!', MBinformation, mb_OK)
WizardForm.Close;
end
else
begin
found:=true;
result:=true;
end;
end
end;
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
if ((CurPageID= wpSelectDir )and (not found)) then
begin
cancel:=true;
confirm:=false;
end;
end;
|
|
------- Последний раз редактировалось habib2302, 29-06-2015 в 11:24. Отправлено: 10:28, 29-06-2015 | #749 |
|
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать habib2302, Так пойдет. На любой версии.
Скрытый текст
var
error : Boolean;
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := true;
error := false;
if CurPageID=wpSelectDir then begin
Result := FileExists(ExpandConstant('{src}\file.test'))
if not Result then begin
MsgBox('Отсутствуют некоторые файлы. Установка будет прервана!', mbError, MB_OK);
error := true;
WizardForm.CancelButton.OnClick(WizardForm.CancelButton);
end;
end;
end;
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Confirm:=False;
end;
|
|
Отправлено: 14:09, 29-06-2015 | #750 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Скрипты 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 | |
|