xampp - Inno Setup ReadReg运行时目标程序文件夹,将WAR文件添加到tomcat/webapps
问题描述
我想xampp\tomcat\webapps
通过使用 Inno Setup 的ReadReg
功能来查找Install_Dir
用于 XAMPP 的 WAR 文件。这个问题类似于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 文件夹中。请让我知道这应该如何正确结构化/编码。
解决方案
[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;
尽管您还应该添加一些错误处理(特别是在没有这样的注册表项的情况下)。
顺便说一句,您基于脚本的答案是正确的。但它确实是另一个问题所要求的:它在编译时读取密钥 = 在机器上,它是在哪里构建的。那不是你想要的。
推荐阅读
- r - Rpy2:TypeError:参数“类别”必须类似于列表
- docusignapi - 什么是自定义 DocuSign 发送的电子邮件中的“请 DocuSign .....”消息的方法
- angular - @ViewChild 的问题
- bash - 无法在脚本中运行函数
- reactjs - 孩子的动态数量,父母使用 useRef 进行编排
- javascript - 行数从小屏到大屏不同
- selenium - 我需要找到一种在公式编辑器中粘贴函数和列名的方法
- amazon-cloudwatch - 如何在 CloudWatch for Amazon Comprehend 上设置限制或警报
- node-modules - Gatsby 项目在开发中有效,但在部署时出现错误(netlify,zeit)
- react-native - 此版本不符合 Google Play 64 位要求 react native android