2009-02-04 11 views

Respuesta

5

Desde el archivo de ayuda Inno Setup:

Inno Setup preprocesador sustituye a la norma Inno Setup Compiler línea de comandos (ISCC.exe) por una versión extendida . Esta versión extendida proporciona parámetros adicionales para controlar Inno Setup Preprocessor.

Los "parámetros adicionales" incluyen la opción/d.

21

Usted, como dice MicSim, necesita el preprocesador. Está incluido en el último ISPack. Una vez que está instalado, iscc admite/D.

continuación, puede utilizar los valores definidos como esto (suponiendo que habías hecho /DVERSION_NAME=1.23):

AppVerName=MyApplication v{#VERSION_NAME} 
+4

Esto está incorporado a Inno Setup 5 ahora, por lo que no tiene que descargar ningún paquete adicional. –

+2

Esto no es parte de la documentación. Incluya información útil aquí: http://www.jrsoftware.org/ishelp/index.php?topic=setupcmdline – vezenkov

-3

Si desea analizar los argumentos de línea de comandos de código en Inno, a continuación, utilizar un método similar a esto. Sólo tiene que llamar el guión Inno desde la línea de comandos de la siguiente manera:

C:\MyInstallDirectory>MyInnoSetup.exe -myParam parameterValue 

A continuación, se puede llamar al GetCommandLineParam gusta este lugar que lo necesite:

myVariable := GetCommandLineParam('-myParam'); 

// ========= =============================================== =======

{ Allows for standard command line parsing assuming a key/value organization } 
function GetCommandlineParam (inParam: String):String; 
var 
    LoopVar : Integer; 
    BreakLoop : Boolean; 
begin 
    { Init the variable to known values } 
    LoopVar :=0; 
    Result := ''; 
    BreakLoop := False; 

    { Loop through the passed in arry to find the parameter } 
    while ((LoopVar < ParamCount) and 
      (not BreakLoop)) do 
    begin 
    { Determine if the looked for parameter is the next value } 
    if ((ParamStr(LoopVar) = inParam) and 
     ((LoopVar+1) < ParamCount)) then 
    begin 
     { Set the return result equal to the next command line parameter } 
     Result := ParamStr(LoopVar+1); 

     { Break the loop } 
     BreakLoop := True; 
    end 

    { Increment the loop variable } 
    LoopVar := LoopVar + 1; 
    end; 
end; 

Espero que esto ayude ...

+1

su respuesta indica algo diferente de lo que se pregunta aquí ... el OP quiere pasar parámetros al comando compilador de línea, no al instalador en sí. – jachguate

+0

Elimine esta respuesta: agrega confusión y no es relevante para la pregunta. – SlowLearner

+0

Sí, es diferente, pero esto responde a mis problemas. Así que gracias – JavaJade

Cuestiones relacionadas