如何从inno设置传递参数 [英] How to pass parameter from inno setup

查看:191
本文介绍了如何从inno设置传递参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI,



i想要从run section传递参数。这个参数是代码部分写的函数的结果。



[代码]

var Dbserver:=函数RegQueryStringValue(HKEY_LOCAL_MACHINE,'SYSTEM \ CurrentControlSet \ service \ MA Service','DBServer',DBServer);





[run]

文件名:{app} \Installdb.bat;参数:{code:RegQueryStringValue};





请更正以上代码。



i want to pass parameter from run section.That parameter is result of function written in code section.

[Code]
var Dbserver := function RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\services\MA Service','DBServer', DBServer);


[run]
Filename: "{app}\Installdb.bat"; Parameters: {code:RegQueryStringValue};


Please the correct the above code.

推荐答案

[run]部分看起来很好(除了使用与InnoSetup函数相同的名称),但不是你的代码。它应该如下所示:

The [run] section looks good (besides using the same name as an InnoSetup function) but not your code. It should look like:
[Code]
function GetDbServer(Default: String): String;
var 
    DBServer: String;
begin
    result := '';
    if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\services\MA Service','DBServer', DBServer) then
    begin
        result := DBServer;
    end;
end;



相应的[run]部分:


The corresponding [run] section:

[Run]
Filename: "{app}\Installdb.bat"; Parameters: {code:GetDbServer};



但是可能需要在Filename命令中添加检查条件在找不到注册表项时避免执行它。


But it may be neccessary to add a Check condition to the Filename command to avoid executing it when the registry key is not found.


这篇关于如何从inno设置传递参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆