1
我試圖將{app}
目錄中的附加文件夾/文件複製到Inno Setup安裝程序中的Program Files
中的其他文件夾中。我寫了一些代碼來執行一個shell命令來使用xcopy
,但是我無法使它工作。我試過所有我能想到的權限(shellexecasoriginaluser
,Flag
= runasoriginaluser
,PrivilegesRequired=admin
)。如果我手工輸入並運行它cmd
它工作正常,所以人們認爲它必須是權限問題?有任何想法嗎?在Inno Setup中使用shell xcopy命令
代碼:
[Files]
Source: "..\Dialogs\*";DestDir: "{app}\Dialogs"; Flags: ignoreversion recursesubdirs 64bit; AfterInstall: WriteExtensionsToInstallFolder();
[Code]
procedure WriteExtensionsToInstallFolder();
var
StatisticsInstallationFolder: string;
pParameter: string;
runline: string;
ResultCode: integer;
begin
StatisticsInstallationFolder := SelectStatisticsFolderPage.Values[0];
pParameter := '@echo off' + #13#10
runline := 'xcopy /E /I /Y "' + ExpandConstant('{app}') + '\Dialogs\*" "' + ExpandConstant(StatisticsInstallationFolder) + '\ext"'
if not ShellExec('',runline, pParameter, '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
begin
MsgBox('Could not copy plugins' + IntToStr(ResultCode) ,mbError, mb_Ok);
end;
end;
非常感謝!我在這工作了幾個小時 –
不客氣。儘管我已經意識到還有更好的方法來滿足您的特殊需求。看到我更新的答案。 –