1
對於特定設置,我需要使用inno-setup腳本{app}常量的文件夾名稱(不含路徑)。Inno安裝程序需要應用程序常量的文件夾名稱
因此,如果在'選擇目標文件夾'的嚮導中選擇下一個文件夾:C:\ ProgramFiles \ MyAppFolder,我需要在設置腳本中使用'MyAppFolder'變量。
對於特定設置,我需要使用inno-setup腳本{app}常量的文件夾名稱(不含路徑)。Inno安裝程序需要應用程序常量的文件夾名稱
因此,如果在'選擇目標文件夾'的嚮導中選擇下一個文件夾:C:\ ProgramFiles \ MyAppFolder,我需要在設置腳本中使用'MyAppFolder'變量。
如果您只想獲得{app}
路徑的尾部,那麼可以調用ExtractFileName
函數獲取帶反斜槓的路徑。這返回給定路徑的尾部。在下面的腳本中,PathTail
var將包含路徑尾部,除非用戶選擇驅動器根目錄(例如C:\
)。在這種情況下,PathTail
變量將是空的:
[Code]
function NextButtonClick(CurPageID: Integer): Boolean;
var
PathTail: string;
begin
Result := True;
if CurPageID = wpSelectDir then
begin
PathTail := ExtractFileName(RemoveBackslashUnlessRoot(ExpandConstant('{app}')));
MsgBox('PathTail: ' + PathTail, mbInformation, MB_OK);
end;
end;
只要是明確的,這裏是你會得到什麼樣的例子:
User selected PathTail contains
---------------------------- ----------------------------
C:\ ''
C:\Program Files\AppFolder\ 'AppFolder'
C:\Program Files\Subfolder\AppFolder\ 'AppFolder'
如果用戶選擇'C:\ Program Files文件\ SubFolder \ MyAppFolder'?如果基本路徑不是「程序文件」,但是例如'文件和設置「?我的意思是,我們如何識別基本路徑? – TLama
@TLama - 我懷疑Dennis想要從{app}中切割/切割MyAppFolder常量(當然,我可能是錯的)。但你是對的 - 丹尼斯應該詳細說明。 – RobeN
如果用戶選擇c:\ program files \ subfolder \ myappfolder,我需要'myappfolder'。 TLama提供的解決方案對我來說是否合適? – Dennis