如何在Inno Setup中使用複製隱藏的外部文件?不要隱藏文件,而要使用隱藏文件。因爲現在:隱藏文件被忽略在Inno Setup中複製隱藏文件
任何幫助嗎?謝謝)
[Files]
Source: "{src}\folder\*"; DestDir: "{app}"; \
Flags: skipifsourcedoesntexist external ignoreversion recursesubdirs createallsubdirs;
如何在Inno Setup中使用複製隱藏的外部文件?不要隱藏文件,而要使用隱藏文件。因爲現在:隱藏文件被忽略在Inno Setup中複製隱藏文件
任何幫助嗎?謝謝)
[Files]
Source: "{src}\folder\*"; DestDir: "{app}"; \
Flags: skipifsourcedoesntexist external ignoreversion recursesubdirs createallsubdirs;
當您使用通配符選擇[Files]
部分項文件,Inno Setup的安裝程序明確跳過隱藏的文件。
你無法對此做任何事情。
見RecurseExternalCopyFiles
function in Projects\Install.pas
,特別是這部分:(。這是一個外部文件,因爲這是你用什麼,但對於編譯時的文件,這是同樣見Compile.pas
BuildFileList
)
if SourceIsWildcard then begin
if FindData.dwFileAttributes and FILE_ATTRIBUTE_HIDDEN <> 0 then
Continue; { <-- Skip hidden files, comment by @MartinPrikryl }
FileName := FindData.cFileName;
end
else
FileName := SearchWildcard; { use the case specified in the script }
。
所有你能做的,就是要實現[Code]
腳本自己安裝,而不是使用[Files]
部分。
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then
begin
Log('Installing files');
DirectoryCopy(ExpandConstant('{src}\folder'), ExpandConstant('{app}'));
end;
end;
對於實施DirectoryCopy
,看到我的回答質疑Inno Setup: copy folder, subfolders and files recursively in Code section。
對於編譯時文件(不external
標誌),那麼您可以使用a preprocessor function FindFirst
[Files]
條目列表。
@ user3027198我已經添加了示例代碼。 –
你需要更具體。 Inno Setup不關心文件是否隱藏,可以像其他文件一樣被刪除和替換。你想要做什麼**具體**?請在您的[編輯]中加入安裝腳本中的代碼。如果您沒有清楚解釋問題,我們無法幫助您。 –
如果**文件夾**內的文件被隱藏 - 沒有任何反應) – user3027198
'{src}'是**源**文件(設置中的文件)的路徑。爲什麼你需要將它隱藏在**源**中? (你已經清楚地看到它,因爲你自己將它添加到源代碼中。)你的'[Files]'條目清楚地表明這些文件來自'{src} \ folder \',但是你試圖從'{ SRC} \ file.txt'。並且請在問題本身中提供有關您問題的其他信息,而不是在評論中提供。 –