【问题标题】:Inno Setup ReadReg run-time target program folder, add WAR file to tomcat/webappsInno Setup ReadReg运行时目标程序文件夹,将WAR文件添加到tomcat/webapps
【发布时间】:2020-12-21 19:29:46
【问题描述】:

我想通过使用 Inno Setup 的 ReadReg 功能为 XAMPP 找到 Install_Dir 将 WAR 文件保存到 xampp\tomcat\webapps。这个问题类似于Inno Setup: read source path from a registry on compile time,但我认为我需要的答案是翻转的。这是我所拥有的:

Source: "D:\Content.war"; \
  DestDir: "{#ReadReg(HKLM, "SOFTWARE\xampp", "Install_Dir", "DefaultDirName")}\tomcat\webapps"; \
  Flags: ignoreversion

但它不会将 WAR 文件保存到目标计算机的 XAMPP 文件夹中。请让我知道这应该如何正确结构化/编码。

【问题讨论】:

    标签: xampp registry inno-setup war


    【解决方案1】:

    使用scripted constantRegQueryStringValue 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;
    

    虽然您还应该添加一些错误处理(特别是在没有此类注册表项的情况下)。


    顺便说一句,answer that you have based your script on 是正确的。但它确实是另一个问题所要求的:它在编译时读取密钥 = 在机器上,它是在哪里构建的。那不是你想要的。

    【讨论】:

      猜你喜欢
      • 2012-09-14
      • 1970-01-01
      • 2017-01-01
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 2019-08-11
      相关资源
      最近更新 更多