파일을 찾아 선택한 다음이 파일을 선택한 소스에서 app 폴더로 복사해야합니다. 이 게시물 How to show/use the user selected app path {app} in InputDirPage in Inno Setup? 와 이노 설치 설명서에 따라Inno Setup으로 복사 할 파일을 사용자가 찾아 볼 수있게하는 방법
는, 나는이 코드 조각에 온 :
[Files]
Source: {code:GetDBPath}; DestDir: "{app}"; Flags: confirmoverwrite uninsneveruninstall;
[Code]
var
SelectDBPage: TInputDirWizardPage;
DBPath: String;
procedure InitializeWizard;
begin
SelectDBPage := CreateInputDirPage(wpSelectDir, 'Select file', 'Select file', 'Select file', False, '');
SelectDBPage.Add('');
SelectDBPage.Values[0] := ExpandConstant('{src}\DB.FDB');
DBPath := SelectDBPage.Values[0];
end;
function GetDBPath():String;
begin
Result := DBPath;
end;
내 문제는 파일 경로를 검색하는 것입니다. 'Source : {code : GetDBPath}'명령에서 '알 수없는 파일 이름 접두어 {code :'오류가 발생합니다. [파일] 섹션에서 선택한 파일 경로를 어떻게 참조 할 수 있습니까?
는
StackOverflow에 오신 것을 환영합니다. 네가 혼란스러워하는 것 같아. [files] 섹션은 스크립트에서 컴파일 할 때 읽습니다. 그런 다음 컴파일러는 프로그램을 설치하기위한 모든 파일과 지시 사항을 포함하는 설치 프로그램을 생성합니다. InitializeWizard는 런타임에 생성 된 설치 관리자가 실행될 때 호출되므로 마법사 페이지를 표시하여 설치에 포함 된 파일을 변경할 수 없습니다. 이는 프로그래밍 언어의 컴파일 타임 및 런타임과 매우 유사합니다. – jachguate
질문에 명확하지 않은 점은 _user_가 컴파일 할 때 스크립트에 포함 할 파일을 선택하게하거나 _user_가 대상 컴퓨터에서 파일을 선택하고 그 파일을 이동/복사하도록 허용하려는 경우입니다 파일을 런타임에 해당 대상 컴퓨터의 다른 위치로 복사하십시오. – jachguate