效果很好!问题在于创建蝙蝠时不会创建它的创建路径。
这是我当前的代码:
[Code]
function CreateBatch(): boolean;
var
fileName : string;
lines : TArrayOfString;
begin
Result := true;
fileName := ExpandConstant('{pf}\{#MyAppName}\batch.bat');
SetArrayLength(lines, 2);
lines[0] := '{pf}\{#MyAppName}\soft21\launcher.exe" -g "{pf}\{#MyAppName}\soft\code\Turbo.rpx';
lines[2] := 'exit';
Result := SaveStringsToFile(filename,lines,true);
exit;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssPostInstall then
begin
CreateBatch();
end
我需要的是使用以下代码行在当前位置创建蝙蝠。
它应该看起来像这样,例如:
“ C:\ Program Files \ soft21 \ launcher.exe” -g“ C:\ Program Files \ soft12 \ code \ Turbo.rpx”
答案 0 :(得分:3)
您应该为ExpandConstant
设置lines[0]
的值。
请记住正确的报价。
如果您不想在每次安装应用程序时都添加批处理,请不要将SaveStringsToFile
的true
使用。
[Code]
function CreateBatch(): boolean;
var
fileName : string;
lines : TArrayOfString;
begin
//test for directory
if not DirExists(ExpandConstant('{userdesktop}\{#MyAppName}')) then begin
CreateDir(ExpandConstant('{userdesktop}\{#MyAppName}'));
end;
//test for dir end
fileName := ExpandConstant('{userdesktop}\{#MyAppName}\batch.bat');
SetArrayLength(lines, 2);
lines[0] := ExpandConstant('"{pf}\{#MyAppName}\soft21\launcher.exe" -g "{pf}\{#MyAppName}\soft\code\Turbo.rpx"');
lines[1] := 'exit';
Result := SaveStringsToFile(filename,lines,true);
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssPostInstall then
begin
CreateBatch();
end
end;