32/64 비트 설치에서 소스 폴더 (및 대상 폴더)를 동적으로 파생시키고 싶습니다. 그렇다면 어떻게 Inno 설정의 [Files] 섹션에서 지정할 수 있습니까? 다음은 컴파일 오류를 제공합니다 : ->Inno Setup의 [Files] 섹션에서 "code"를 어떻게 사용합니까?
[Files]
Source: {#MySourcePath}\{code:GetSourceLibFolder}\*.jar; DestDir: {code:GetAppDir}\lib\;
내가 코드 섹션에 정의 된 GetSourceLibFolder()
및 GetAppDir()
기능을 가지고있다. 함수는 매우 간단하며 변수 만 반환합니다.
function GetSourceLibFolder(Param: String): String;
begin
Result:= SourceLibFolder;
end;
function GetSourceBinFolder(Param: String): String;
begin
Result:= SourceBinFolder;
end;
감사합니다!
우리는 코드를'[Code]'로부터 호출하여 InnoSetup 스크립트의 다른 장소에서 사용할 수 있을지 확신하지 못합니다. '# define' 문을 사용하여 함수를 적용하는 문자열을 만드는 방법은 어떻습니까? (예 : [http://stackoverflow.com/questions/2329979/can-the-setup-filename-be-derived-from-the-executable -file-version-number] (http://stackoverflow.com/questions/2329979/can-the-setup-filename-be-derived-from-the-executable-file-version-number)) –
이 원본의 위치 lib 폴더 : InnoSetup 스크립트의 기본 폴더에 상대적인 소스 폴더에 있습니까? '{app}'만 사용할 수있는 이유는 무엇입니까? 예를 들어, InnoSetup 스크립트 파일이'. \'폴더에 있고 당신의 jar 라이브러리가'. \ install \ lib'에 있고 그것들이 당신의 응용 프로그램 폴더'{app}'의'lib' 폴더에 있기를 원하면, 'Source : "install \ lib \ *. jar";를 정의 할 수 있습니다. DestDir : "{app} \ lib"'쉬운 방법 : 각 스크립트 파일에 다른 소스 폴더를 정의하여 각 32 비트 및 64 비트 설정에 대해 별도의 InnoSetup 스크립트를 가질 수 있습니다. – ecle
@eee : 32 비트 및 64 비트 시스템 용으로 하나의 설치 프로그램을 갖고 싶습니다. 따라서 두 개의 다른 "lib"폴더가 있습니다. lib-32와 lib-64는 동적으로 설정했기 때문에 동적으로 읽길 원합니다. – Saurabh