Inno Setup ReadReg 运行-时间目标程序文件夹,添加WAR文件到tomcat/webapps
Inno Setup ReadReg run-time target program folder, add WAR file to tomcat/webapps
我想通过使用 Inno Setup 的 ReadReg
功能找到 XAMPP 的 Install_Dir
,将 WAR 文件保存到 xampp\tomcat\webapps
。这个问题类似于 但我认为我需要的答案是翻转的。这是我拥有的:
Source: "D:\Content.war"; \
DestDir: "{#ReadReg(HKLM, "SOFTWARE\xampp", "Install_Dir", "DefaultDirName")}\tomcat\webapps"; \
Flags: ignoreversion
但它不会将 WAR 文件保存到目标计算机的 XAMPP 文件夹中。请让我知道这应该如何正确 structured/coded.
使用 scripted constant and RegQueryStringValue
function:
[Files]
Source: "D:\Content.war"; DestDir: "{code:GetXamppPath}\tomcat\webapps"
[Code]
function GetXamppPath(Param: string): string;
begin
RegQueryStringValue(HKLM, 'SOFTWARE\xampp', 'Install_Dir', Result);
end;
虽然您还应该添加一些错误处理(特别是在没有这样的注册表项的情况下)。
顺便说一句, 是正确的。但它确实如此,另一个问题要求:它在编译时读取密钥 = 在它构建的机器上。这不是你想要的。
我想通过使用 Inno Setup 的 ReadReg
功能找到 XAMPP 的 Install_Dir
,将 WAR 文件保存到 xampp\tomcat\webapps
。这个问题类似于
Source: "D:\Content.war"; \
DestDir: "{#ReadReg(HKLM, "SOFTWARE\xampp", "Install_Dir", "DefaultDirName")}\tomcat\webapps"; \
Flags: ignoreversion
但它不会将 WAR 文件保存到目标计算机的 XAMPP 文件夹中。请让我知道这应该如何正确 structured/coded.
使用 scripted constant and RegQueryStringValue
function:
[Files]
Source: "D:\Content.war"; DestDir: "{code:GetXamppPath}\tomcat\webapps"
[Code]
function GetXamppPath(Param: string): string;
begin
RegQueryStringValue(HKLM, 'SOFTWARE\xampp', 'Install_Dir', Result);
end;
虽然您还应该添加一些错误处理(特别是在没有这样的注册表项的情况下)。
顺便说一句,