将两个文件安装到用户选择的目录中

问题描述 投票:0回答:1

我想将两个文件安装到一个安装目录中。该目录由用户在安装时选择,如果不存在则创建。应建议默认路径。

到目前为止我所拥有的是:

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
AppName=Testapp
AppVersion=1.0
DefaultDirName={code:GetOtherDir}
DefaultGroupName=TestProgram
PrivilegesRequired = lowest
OutputBaseFilename =TestProgram

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "program.exe"; DestDir: "{app}"
Source: "readme.txt";  Flags: onlyifdoesntexist; DestDir: "{app}"

[Icons]
Name: "{userdesktop}\Subdirectory"; Filename: "{userdocs}\Subdirectory\program.exe"; Tasks: desktopicon

[Code]
var
  OtherInputDirPage: TInputDirWizardPage;

procedure InitializeWizard;
begin
  OtherInputDirPage :=
    CreateInputDirPage(wpSelectDir, 'Installationsverzeichnis wählen:', '', '', False, '');
  OtherInputDirPage.Add('');
  // Set initial value (optional)
  OtherInputDirPage.Values[0] := ExpandConstant('{userdocs}\Subdirectory');
end;

function GetOtherDir(Param: String): String;
begin
  Result := OtherInputDirPage.Values[0];
end;

我可以使用不同的代码将一个文件安装到用户定义的位置,但我无法将该位置也用于第二个文件,所以这就是我想出上面的代码的原因。有人可以帮忙吗?

inno-setup
1个回答
0
投票

您的代码应将两个文件安装到安装目录中。我不明白你应该有什么问题。

尽管对于这样一个微不足道的任务来说,代码似乎不必要地复杂。用于将两个文件安装到用户选择的目录中的基本 Inno Setup 脚本如下:

[Setup]
AppName=My Program
AppVersion=1.0
DefaultDirName={autopf}\My Program

[Files]
Source: "MyProg.exe"; DestDir: "{app}"
Source: "MyProg.txt"; DestDir: "{app}"
© www.soinside.com 2019 - 2024. All rights reserved.