Скрипты Inno Setup. Помощь и советы [часть 8]
-
kotyarko@fb
Re: Скрипты Inno Setup. Помощь и советы [часть 8]
AlexM22204, в inno setup файлы распакованные в temp они сами удаляются после завершения процесса исполняемого файла
- Вложения
-
[Расширение jpg было запрещено, вложение больше недоступно.]
-
Николай_Николаич@vk
Re: Скрипты Inno Setup. Помощь и советы [часть 8]
Alex22204, не уверен, но может быть:
[Files]
Source: *.*; DestDir: {tmp}\InstallFile; Flags: сами напишите;
[Run]
Дальше сами...
[Files]
Source: *.*; DestDir: {tmp}\InstallFile; Flags: сами напишите;
[Run]
Дальше сами...
-
kotyarko@fb
Re: Скрипты Inno Setup. Помощь и советы [часть 8]
Подскажите пож. в локализованной винде папка Documents отображается под названием Мои документы.
Возможно ли средствами Inno Setup выполнить переименование папки Мои документы в Documents?
Возможно ли средствами Inno Setup выполнить переименование папки Мои документы в Documents?
-
Николай_Николаич@vk
Re: Скрипты Inno Setup. Помощь и советы [часть 8]
ROMKA-1997, на Inno Setup не знаю. Батник (.bat) напиши и в секции [Run] пропиши путь к батнику с флагом /s или -silent, -verysilent.
-
kotyarko@fb
Re: Скрипты Inno Setup. Помощь и советы [часть 8]
Цитата PlanktoN:
Батник (.bat) напиши
в Inno Setup знания базовые а в написании .bat ещё не практиковался.
Батник (.bat) напиши
Скрипты Inno Setup. Помощь и советы [часть 8]
в Inno Setup знания базовые а в написании .bat ещё не практиковался.
-
Snoopak96
Re: Скрипты Inno Setup. Помощь и советы [часть 8]
Николай_Николаич@vk,
код
[spoiler]Код: [/spoiler]
код
[spoiler]Код: [/spoiler]
Код: Выделить всё
[setup]
appname=test
appvername=test 1.0
defaultdirname={sd}\test
[code]
type
TSHFileOpStruct = record
Wnd: HWND;
wFunc: UINT;
pFrom: PAnsiChar;
pTo: PAnsiChar;
fFlags: Word;
fAnyOperationsAborted: BOOL;
hNameMappings: HWND;
lpszProgressTitle: PAnsiChar;
end;
const
FO_MOVE = $0001;
FO_COPY = $0002;
FOF_SILENT = $0004;
FOF_NOCONFIRMATION = $0010;
FOF_FILESONLY = $0080;
FOF_NOCONFIRMMKDIR = $0200;
function SHFileOperation(const lpFileOp: TSHFileOpStruct):Integer; external 'SHFileOperation@shell32.dll stdcall';
function BackupDir(const fromDir, toDir: AnsiString; IsMove: Boolean): Boolean;
var
fos: TSHFileOpStruct;
_fromDir, _toDir: AnsiString;
SR: TFindRec;
res: Boolean;
begin
ForceDirectories(toDir);
if IsMove then
fos.wFunc := FO_MOVE else
fos.wFunc := FO_COPY;
fos.fFlags := FOF_FILESONLY or FOF_SILENT or
FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR;
_fromDir:= AddBackslash(fromDir);
_toDir := AddBackslash(toDir);
if (Length(fromDir) = Length(_fromDir)) then
begin
res:= FindFirst(_fromDir + '*', SR);
try
while res do
begin
if (SR.Name '') and (SR.Name '.') and (SR.Name '..') then
begin
if SR.Attributes = FILE_ATTRIBUTE_DIRECTORY then
begin
_fromDir:= _fromDir + SR.Name + #0#0;
_toDir := _toDir + #0#0;
fos.pFrom := PAnsiChar(_fromDir);
fos.pTo := PAnsiChar(_toDir);
end else
begin
_fromDir:= _fromDir + SR.Name + #0#0;
_toDir := _toDir + SR.Name + #0#0;
fos.pFrom := PAnsiChar(_fromDir);
fos.pTo := PAnsiChar(_toDir);
end;
Result := (0 = ShFileOperation(fos));
_fromDir:= ExtractFilePath(_fromDir);
_toDir:= ExtractFilePath(_toDir);
end;
res := FindNext(SR);
end;
finally
FindClose(SR);
end;
end else
begin
_fromDir:= RemoveBackslashUnlessRoot(_fromDir) + #0#0;
_toDir := RemoveBackslashUnlessRoot(_toDir) + #0#0;
fos.pFrom := PAnsiChar(_fromDir);
fos.pTo := PAnsiChar(_toDir);
Result := (0 = ShFileOperation(fos));
end;
end;
procedure SendFileToSubFolders(ScanDir, InFile: string);
var
TFR: TFindRec;
begin
if FindFirst(AddBackslash(RemoveBackslash(ScanDir)) + '*', TFR) then
try
repeat
if (TFR.Name '.') and (TFR.Name '..') then
if TFR.Attributes and FILE_ATTRIBUTE_DIRECTORY = FILE_ATTRIBUTE_DIRECTORY then begin
FileCopy(InFile, AddBackslash(RemoveBackslash(ScanDir)) + TFR.Name + '\' + ExtractFileName(InFile), False);
end;
until not FindNext(TFR);
finally
FindClose(TFR);
end;
end;
procedure SendDirToSubFolders(ScanDir, InDir: string);
var
TFR: TFindRec;
begin
if FindFirst(AddBackslash(RemoveBackslash(ScanDir)) + '*', TFR) then
try
repeat
if (TFR.Name '.') and (TFR.Name '..') then
if (TFR.Attributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY then
BackupDir(AddBackslash(RemoveBackslash(InDir)), AddBackslash(RemoveBackslash(ScanDir)) + TFR.Name + '\' + ExtractFileName(InDir), false);
until not FindNext(TFR);
finally
FindClose(TFR);
end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
//Для файла
// if CurStep = ssPostInstall then SendFileToSubFolders(ExpandConstant('{app}\1'), ExpandConstant('{sd}\spyhunter.log'));
//Для папки
if CurStep = ssPostInstall then SendDirToSubFolders(ExpandConstant('{app}\1'), ExpandConstant('{sd}\sh4ldr'));
end;-
svs23
Re: Скрипты Inno Setup. Помощь и советы [часть 8]
Цитата icetanker:
подскажите как вывести табличку
В смысле табличку? Типа такого?
Код:
подскажите как вывести табличку
Скрипты Inno Setup. Помощь и советы [часть 8]
В смысле табличку? Типа такого?
Код:
Код: Выделить всё
[setup]
appname=app
appvername=app v1.0
DefaultDirName={sd}\app
[Files]
Source: compiler:license.txt; DestDir: {app}; AfterInstall: ShowMsg;
[code]
procedure ShowMsg;
begin
MsgBox('Файл установлен.', mbInformation, MB_OK);
end;-
svs23
Re: Скрипты Inno Setup. Помощь и советы [часть 8]
Кстати, не подскажете, давно искал пример двойного прогресс бара (Один по файловый, второй - общий прогресс), но никак не мог найти.
Есть ли таковой?
Есть ли таковой?
-
Николай_Николаич@vk
-
OldGamer
Re: Скрипты Inno Setup. Помощь и советы [часть 8]
Всем привет!
Подскажите, пожалуйста, как изменить стандартное окно выбора языков установки?
Нужно точно так, как на
1. В шапке - название программы;
2. "Выберите язык установщика" по-английски и по-русски в 2 строки;
3. Названия языков чтоб отображались через "/".
Подскажите, пожалуйста, как изменить стандартное окно выбора языков установки?
Нужно точно так, как на
скриншоте
1. В шапке - название программы;
2. "Выберите язык установщика" по-английски и по-русски в 2 строки;
3. Названия языков чтоб отображались через "/".