Вопрос Нужна помощь с проверкой существования файлов

Alexandr_57

Новичок
Да я както сейчас пишу без рекурсии. Дело в том что в rtp вообще папки может не быть. Так собственно нет папки pictures так как в оригинальном rtp ее нет в dlc она есть.
path := AddBackslash(ExtractFileDir(CurrentFileName))+ExtractFileName(CurrentFileName);
Не понятен смысл. Чем она будет отличатся от всей тойже
CurrentFileName
И не понятно что app а что dlc
DLC это не конечнуй путь установки а то что нужно у
Специально на Delphi протестировал код
Код:
Function Test1: String;
var
  path, app : string;
begin
  path := 'C:\MV\dlc\Additional\Cover Art Characters\img\characters\Harold.png';
  app := 'C:\MV\NewData';
  Delete(path, Pos(app, path), Length(app));
  Result := 'C:\MV\NewData\'+path;
end;
Вот такой конечный путь
C:\MV\NewData\C:\MV\dlc\Additional\Cover Art Characters\img\characters\Harold.png
C:\MV\NewData\ - Это папка rtp с другими подпапками
'C:\MV\dlc\Additional\Cover Art Characters\img\characters\Harold.png' -
Это исходный путь и имя файла куда он будет ставится если в папке
C:\MV\NewData\img\characters есть такой файл
 
Последнее редактирование:

Alexandr_57

Новичок
И так. Вот так сделал пока
Код:
[Files]
Source: "MV\dlc\BaseResource\*"; DestDir: "{app}\NewData"; Components: DLC\v2; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "MV\dlc\BaseResource_Compressed\*"; DestDir: "{app}\NewData"; Components: DLC\v2; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension


Source: "MV\dlc\Additional\CodeOfPrincess\characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\CodeOfPrincess\characters\*"; DestDir: "{app}\dlc\Additional\CodeOfPrincess\characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\audio\bgm\*"; DestDir: "{app}\NewData\audio\bgm"; Components: DLC\v2; Check: not exists('{app}\NewData\audio\bgm\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\audio\bgm\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\audio\bgm"; Components: DLC\v2; Check: exists('{app}\NewData\audio\bgm\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\img\characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\img\characters\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\img\characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\img\faces\*"; DestDir: "{app}\NewData\img\faces"; Components: DLC\v2; Check: not exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\img\faces\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\img\faces"; Components: DLC\v2; Check: exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\img\pictures\*"; DestDir: "{app}\NewData\img\pictures"; Components: DLC\v2; Check: not exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\img\pictures\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\img\pictures"; Components: DLC\v2; Check: exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\img\sv_actors\*"; DestDir: "{app}\NewData\img\sv_actors"; Components: DLC\v2; Check: not exists('{app}\NewData\img\sv_actors\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\img\sv_actors\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\img\sv_actors"; Components: DLC\v2; Check: exists('{app}\NewData\img\sv_actors\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\img\system\*"; DestDir: "{app}\NewData\img\system"; Components: DLC\v2; Check: not exists('{app}\NewData\img\system\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\img\system\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\img\system"; Components: DLC\v2; Check: exists('{app}\NewData\img\system\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\faces\*"; DestDir: "{app}\NewData\img\faces"; Components: DLC\v2; Check: not exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\faces\*"; DestDir: "{app}\dlc\Additional\Essentials Add-On\faces"; Components: DLC\v2; Check: exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\tilesets\*"; DestDir: "{app}\NewData\img\tilesets"; Components: DLC\v2; Check: not exists('{app}\NewData\img\tilesets\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\tilesets\*"; DestDir: "{app}\dlc\Additional\Essentials Add-On\tilesets"; Components: DLC\v2; Check: exists('{app}\NewData\img\tilesets\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\titles1\*"; DestDir: "{app}\NewData\img\titles1"; Components: DLC\v2; Check: not exists('{app}\NewData\img\titles1\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\titles1\*"; DestDir: "{app}\dlc\Additional\Essentials Add-On\titles1"; Components: DLC\v2; Check: exists('{app}\NewData\img\titles1\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\EternalDestiny\NewData\img\Characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\EternalDestiny\NewData\img\Characters\*"; DestDir: "{app}\dlc\Additional\EternalDestiny\Characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\EternalDestiny\NewData\img\faces\*"; DestDir: "{app}\NewData\img\faces"; Components: DLC\v2; Check: not exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\EternalDestiny\NewData\img\faces\*"; DestDir: "{app}\dlc\Additional\EternalDestiny\faces"; Components: DLC\v2; Check: exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\EternalDestiny\NewData\img\pictures\*"; DestDir: "{app}\NewData\img\pictures"; Components: DLC\v2; Check: not exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\EternalDestiny\NewData\img\pictures\*"; DestDir: "{app}\dlc\Additional\EternalDestiny\pictures"; Components: DLC\v2; Check: exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\ExtraAssets\audio\bgm\*"; DestDir: "{app}\NewData\audio\bgm"; Components: DLC\v2; Check: not exists('{app}\NewData\audio\bgm\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\ExtraAssets\audio\bgm\*"; DestDir: "{app}\dlc\Additional\ExtraAssets\audio\bgm"; Components: DLC\v2; Check: exists('{app}\NewData\audio\bgm\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\ExtraAssets\img\pictures\*"; DestDir: "{app}\NewData\img\pictures"; Components: DLC\v2; Check: not exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\ExtraAssets\img\pictures\*"; DestDir: "{app}\dlc\Additional\ExtraAssets\img\pictures"; Components: DLC\v2; Check: exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\KadokawaPlugins\*"; DestDir: "{app}\NewData\js\plugins"; Components: DLC\v2; Check: not exists('{app}\NewData\js\plugins\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\KadokawaPlugins\*"; DestDir: "{app}\dlc\Additional\KadokawaPlugins"; Components: DLC\v2; Check: exists('{app}\NewData\js\plugins\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\animations\*"; DestDir: "{app}\NewData\img\animations"; Components: DLC\v2; Check: not exists('{app}\NewData\img\animations\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\animations\*"; DestDir: "{app}\dlc\Additional\RPG Maker Freebies\animations"; Components: DLC\v2; Check: exists('{app}\NewData\img\animations\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\Characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\Characters\*"; DestDir: "{app}\dlc\Additional\RPG Maker Freebies\Characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\enemies\*"; DestDir: "{app}\NewData\img\enemies"; Components: DLC\v2; Check: not exists('{app}\NewData\img\enemies\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\enemies\*"; DestDir: "{app}\dlc\Additional\RPG Maker Freebies\enemies"; Components: DLC\v2; Check: exists('{app}\NewData\img\enemies\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\Faces\*"; DestDir: "{app}\NewData\img\faces"; Components: DLC\v2; Check: not exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\Faces\*"; DestDir: "{app}\dlc\Additional\RPG Maker Freebies\Faces"; Components: DLC\v2; Check: exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\sv_actors\*"; DestDir: "{app}\NewData\img\sv_actors"; Components: DLC\v2; Check: not exists('{app}\NewData\img\sv_actors\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\sv_actors\*"; DestDir: "{app}\dlc\Additional\RPG Maker Freebies\sv_actors"; Components: DLC\v2; Check: exists('{app}\NewData\img\sv_actors\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\TeamFortress2\characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\TeamFortress2\characters\*"; DestDir: "{app}\dlc\Additional\TeamFortress2\characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\TeamFortress2\pictures\*"; DestDir: "{app}\NewData\img\pictures"; Components: DLC\v2; Check: not exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\TeamFortress2\pictures\*"; DestDir: "{app}\dlc\Additional\TeamFortress2\pictures"; Components: DLC\v2; Check: exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\UmiharaKawase\characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\UmiharaKawase\characters\*"; DestDir: "{app}\dlc\Additional\UmiharaKawase\characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\UmiharaKawase\faces\*"; DestDir: "{app}\NewData\img\faces"; Components: DLC\v2; Check: not exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\UmiharaKawase\faces\*"; DestDir: "{app}\dlc\Additional\UmiharaKawase\faces"; Components: DLC\v2; Check: exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\UmiharaKawase\pictures\*"; DestDir: "{app}\NewData\"; Components: DLC\v2; Check: not exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\UmiharaKawase\pictures\*"; DestDir: "{app}\dlc\Additional\UmiharaKawase\pictures"; Components: DLC\v2; Check: exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension


Source: "MV\dlc\Additional\Essentials Add-On\Other\*"; DestDir: "{app}\dlc\Additional\Essentials Add-On"; Components: DLC\v2; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "MV\dlc\Additional\EternalDestiny\Other\*"; DestDir: "{app}\dlc\Additional\EternalDestiny"; Components: DLC\v2; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "MV\dlc\Additional\KadokawaPlugins_New\*"; DestDir: "{app}\dlc\Additional\KadokawaPlugins_New"; Components: DLC\v2; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "MV\dlc\Additional\RPG Maker Freebies\Other\*"; DestDir: "{app}\dlc\Additional\RPG Maker Freebies"; Components: DLC\v2; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "MV\dlc\Additional\RPGmakerWeb_plugins\*"; DestDir: "{app}\dlc\Additional\RPGmakerWeb_plugins"; Components: DLC\v2; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension

[code]

function exists(s: string): boolean;
begin
  Result := FileExists(ExpandConstant(s)+ExtractFileName(CurrentFileName));
end;
 

El Sanchez

Новичок
Изначально я и делал запись в отдельную папку. Но одному умнику не понравилось их вручную выковыркивать.
Alexandr_57, DLC в отдельную папку, все так делают, а умника шлите глубоко подальше.
Либо в папку с RTP при таком варианте все файлы что не заменяют оригинальные должны копироваться в RTP а остальные в DLC
Alexandr_57, и файлы от DLC будут разбросаны по разным местам - в саму программу и в собственную папку DLC. А еще деинсталлятор программы про файлы от DLC в RTP ничего не будет знать.
Постойте. CurrentFileName вернет конечный путь и имя файла. Так не проще будет делать так
Alexandr_57, это было верное направление, зря свернули с пути.
И так. Вот так сделал пока
Alexandr_57, портянку эту можно и одной строкой делать. Ведь вам по сути нужно одну и ту же структуру файлов и папок XYZ установить по 2 разным путям в зависимости от условия. Я понимаю, что Source разбит по группам для удобства, но когда-нибудь в "MV\dlc\Additional\CodeOfPrincess\characters\*" и в "MV\dlc\Additional\Cover Art Characters\img\characters\*" появятся одинаковые по названию и относительному пути файлы и в DestDir будет перезапись.
 

Alexandr_57

Новичок
Alexandr_57, портянку эту можно и одной строкой делать. Ведь вам по сути нужно одну и ту же структуру файлов и папок XYZ установить по 2 разным путям в зависимости от условия. Я понимаю, что Source разбит по группам для удобства, но когда-нибудь в "MV\dlc\Additional\CodeOfPrincess\characters\*" и в "MV\dlc\Additional\Cover Art Characters\img\characters\*" появятся одинаковые по названию и относительному пути файлы и в DestDir будет перезапись.
Нельзя подругому. Вот переделал так как там неправыильно сделал
Код:
[Files]
Source: "MV\dlc\Additional\CodeOfPrincess\characters\*"; DestDir: "{app}\dlc\Additional\CodeOfPrincess\characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\CodeOfPrincess\characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\audio\bgm\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\audio\bgm"; Components: DLC\v2; Check: exists('{app}\NewData\audio\bgm\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\audio\bgm\*"; DestDir: "{app}\NewData\audio\bgm"; Components: DLC\v2; Check: not exists('{app}\NewData\audio\bgm\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\img\characters\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\img\characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\img\characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\img\faces\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\img\faces"; Components: DLC\v2; Check: exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\img\faces\*"; DestDir: "{app}\NewData\img\faces"; Components: DLC\v2; Check: not exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\img\pictures\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\img\pictures"; Components: DLC\v2; Check: exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\img\pictures\*"; DestDir: "{app}\NewData\img\pictures"; Components: DLC\v2; Check: not exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\img\sv_actors\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\img\sv_actors"; Components: DLC\v2; Check: exists('{app}\NewData\img\sv_actors\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\img\sv_actors\*"; DestDir: "{app}\NewData\img\sv_actors"; Components: DLC\v2; Check: not exists('{app}\NewData\img\sv_actors\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Cover Art Characters\img\system\*"; DestDir: "{app}\dlc\Additional\Cover Art Characters\img\system"; Components: DLC\v2; Check: exists('{app}\NewData\img\system\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Cover Art Characters\img\system\*"; DestDir: "{app}\NewData\img\system"; Components: DLC\v2; Check: not exists('{app}\NewData\img\system\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\faces\*"; DestDir: "{app}\dlc\Additional\Essentials Add-On\faces"; Components: DLC\v2; Check: exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\faces\*"; DestDir: "{app}\NewData\img\faces"; Components: DLC\v2; Check: not exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\tilesets\*"; DestDir: "{app}\dlc\Additional\Essentials Add-On\tilesets"; Components: DLC\v2; Check: exists('{app}\NewData\img\tilesets\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\tilesets\*"; DestDir: "{app}\NewData\img\tilesets"; Components: DLC\v2; Check: not exists('{app}\NewData\img\tilesets\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\titles1\*"; DestDir: "{app}\dlc\Additional\Essentials Add-On\titles1"; Components: DLC\v2; Check: exists('{app}\NewData\img\titles1\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\Essentials Add-On\NewData\img\titles1\*"; DestDir: "{app}\NewData\img\titles1"; Components: DLC\v2; Check: not exists('{app}\NewData\img\titles1\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\EternalDestiny\NewData\img\Characters\*"; DestDir: "{app}\dlc\Additional\EternalDestiny\Characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\EternalDestiny\NewData\img\Characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\EternalDestiny\NewData\img\faces\*"; DestDir: "{app}\dlc\Additional\EternalDestiny\faces"; Components: DLC\v2; Check: exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\EternalDestiny\NewData\img\faces\*"; DestDir: "{app}\NewData\img\faces"; Components: DLC\v2; Check: not exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\EternalDestiny\NewData\img\pictures\*"; DestDir: "{app}\dlc\Additional\EternalDestiny\pictures"; Components: DLC\v2; Check: exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\EternalDestiny\NewData\img\pictures\*"; DestDir: "{app}\NewData\img\pictures"; Components: DLC\v2; Check: not exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\ExtraAssets\audio\bgm\*"; DestDir: "{app}\dlc\Additional\ExtraAssets\audio\bgm"; Components: DLC\v2; Check: exists('{app}\NewData\audio\bgm\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\ExtraAssets\audio\bgm\*"; DestDir: "{app}\NewData\audio\bgm"; Components: DLC\v2; Check: not exists('{app}\NewData\audio\bgm\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\ExtraAssets\img\pictures\*"; DestDir: "{app}\dlc\Additional\ExtraAssets\img\pictures"; Components: DLC\v2; Check: exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\ExtraAssets\img\pictures\*"; DestDir: "{app}\NewData\img\pictures"; Components: DLC\v2; Check: not exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\KadokawaPlugins\*"; DestDir: "{app}\dlc\Additional\KadokawaPlugins"; Components: DLC\v2; Check: exists('{app}\NewData\js\plugins\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\KadokawaPlugins\*"; DestDir: "{app}\NewData\js\plugins"; Components: DLC\v2; Check: not exists('{app}\NewData\js\plugins\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\animations\*"; DestDir: "{app}\dlc\Additional\RPG Maker Freebies\animations"; Components: DLC\v2; Check: exists('{app}\NewData\img\animations\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\animations\*"; DestDir: "{app}\NewData\img\animations"; Components: DLC\v2; Check: not exists('{app}\NewData\img\animations\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\Characters\*"; DestDir: "{app}\dlc\Additional\RPG Maker Freebies\Characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\Characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\enemies\*"; DestDir: "{app}\dlc\Additional\RPG Maker Freebies\enemies"; Components: DLC\v2; Check: exists('{app}\NewData\img\enemies\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\enemies\*"; DestDir: "{app}\NewData\img\enemies"; Components: DLC\v2; Check: not exists('{app}\NewData\img\enemies\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\Faces\*"; DestDir: "{app}\dlc\Additional\RPG Maker Freebies\Faces"; Components: DLC\v2; Check: exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\Faces\*"; DestDir: "{app}\NewData\img\faces"; Components: DLC\v2; Check: not exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\sv_actors\*"; DestDir: "{app}\dlc\Additional\RPG Maker Freebies\sv_actors"; Components: DLC\v2; Check: exists('{app}\NewData\img\sv_actors\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\RPG Maker Freebies\NewData\img\sv_actors\*"; DestDir: "{app}\NewData\img\sv_actors"; Components: DLC\v2; Check: not exists('{app}\NewData\img\sv_actors\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\TeamFortress2\characters\*"; DestDir: "{app}\dlc\Additional\TeamFortress2\characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\TeamFortress2\characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\TeamFortress2\pictures\*"; DestDir: "{app}\dlc\Additional\TeamFortress2\pictures"; Components: DLC\v2; Check: exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\TeamFortress2\pictures\*"; DestDir: "{app}\NewData\img\pictures"; Components: DLC\v2; Check: not exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\UmiharaKawase\characters\*"; DestDir: "{app}\dlc\Additional\UmiharaKawase\characters"; Components: DLC\v2; Check: exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\UmiharaKawase\characters\*"; DestDir: "{app}\NewData\img\characters"; Components: DLC\v2; Check: not exists('{app}\NewData\img\characters\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\UmiharaKawase\faces\*"; DestDir: "{app}\dlc\Additional\UmiharaKawase\faces"; Components: DLC\v2; Check: exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\UmiharaKawase\faces\*"; DestDir: "{app}\NewData\img\faces"; Components: DLC\v2; Check: not exists('{app}\NewData\img\faces\'); Flags: sortfilesbyextension

Source: "MV\dlc\Additional\UmiharaKawase\pictures\*"; DestDir: "{app}\dlc\Additional\UmiharaKawase\pictures"; Components: DLC\v2; Check: exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension
Source: "MV\dlc\Additional\UmiharaKawase\pictures\*"; DestDir: "{app}\NewData\img\pictures"; Components: DLC\v2; Check: not exists('{app}\NewData\img\pictures\'); Flags: sortfilesbyextension
[code]

function exists(s: string): boolean;
begin
  Result := FileExists(ExpandConstant(s)+ExtractFileName(CurrentFileName));
end;
И как ты в одну строчку запехнешь при условии что конечный путь для NewData нужно строго соблюдать
 

Alexandr_57

Новичок
Короче вопрос разрешен правдо куча строчек вышло.
Ну собственно работает проверка и ошибок не возникло как и нужно.
 

El Sanchez

Новичок
И как ты в одну строчку запехнешь при условии что конечный путь для NewData нужно строго соблюдать
Alexandr_57, а почему в {app}\NewData структура строгая, а в {app}\dlc как попало? Я про Additional\CodeOfPrincess(Cover Art Characters, Essentials Add-On и т.д.), которых в {app}\NewData нет, ведь любой DLC должен повторять структуру файлов и папок оригинала.
 

Alexandr_57

Новичок
Alexandr_57, а почему в {app}\NewData структура строгая, а в {app}\dlc как попало? Я про Additional\CodeOfPrincess(Cover Art Characters, Essentials Add-On и т.д.), которых в {app}\NewData нет, ведь любой DLC должен повторять структуру файлов и папок оригинала.
dlc папка дополнительная и программа ее для работы не видит точнее ничего из нее не читает.
Когда как в NewData это RTP который движок считывает при создании нового проекта. Движок писал не я. Просто более удобный инсталятор под него делаю
 
Сверху