innosetup区分正常状态和静默安装状态(通过传递的参数)

   命令行运行程序,如:

   myprogram.exe  /abc  /bcd

   如果我们想获取其中的参数,“/abc”、“/bcd

1. 直接使用innosetup自带的方法, GetCmdTail()

       将所有参数作为一个字符串返回,安装和卸载都适用

       注意:如果打算使用此方法,建议先看一下它返回字符串的格式,如上例子,

               返回的可不仅仅是:/abc  /bcd

2.使用innosetup自带的ParamCount() 和ParamStr()

       2.1. ParamCount(), 获取参数的个数

       2.2. ParamStr(), 根据参数下标,返回一个参数

        例子: test.exe  /name abc /age 18

 1 {根据参数名,返回参数值}

 2 function GetMyParam(PName:String):String;

 3 var

 4   CmdLine : String;

 5   CmdLineLen : Integer;//参数的个数

 6   i : Integer;

 7 begin

 8     CmdLineLen:=ParamCount();

 9     for i:=0 to CmdLineLen do

10     begin

11     CmdLine:=ParamStr(i);

12     if CmdLine= PName then

13       begin

14           CmdLine:=ParamStr(i+1);

15           Result := CmdLine;

16           Exit;

17       end;

18     end;

19 

20 end;
View Code

      GetMyParam('name') 结果是:abc

 

总结:因为innosetup进行静默安装,需要在程序后面传参数,所以可以通过获取参数来判断是否进行静默安装

        innosetup静默安装的参数请参考:http://www.cnblogs.com/tommy-huang/p/4580424.html

你可能感兴趣的:(set)