Clique aqui para voltar à tela inicial da ajuda


Constantes em tempo de execução da instalação


A maioria das entradas no arquivo de projeto podem conter constantes. Constantes são textos ("strings") pré-definidos e dinâmicos, que o instalador transforma em valores literais dependendo do tipo. As constantes são identificadas por uma palavra-chave entre chaves, {assim}. Por exemplo, {app} retorna o nome completo da pasta onde o programa será instalado, {win} retorna a pasta do Windows, {userdesktop} retorna a pasta referente à área de trabalho do usuário, etc.

O caractere "{" é identificador de constante, portanto você não pode utilizá-lo como parte de um valor de algum parâmetro. Para colocar uma chave, utilize dois caracteres de chave consecutivos, como por exemplo, {{.

Quando uma barra ("\" ou "/") segue imediatamente uma constante, o programa de instalação remove automaticamente a barra se o valor da constante já terminar em uma barra. Por exemplo, se uma constante retornasse o valor "C:\", e no projeto estivesse definido um valor como sendo {NomeDaConstante}\arquivo.txt, o programa de instalação assumiria para o valor "C:\arquivo.txt", e não "C:\\arquivo.txt";. Caso queira ignorar isso, e deixar a possível segunda barra de qualquer modo, coloque-a entre chaves, por exemplo {app}{\}.

Nesta versão do Mep Installer as seguintes constantes são válidas:

Constantes de diretórios (pastas)

{app} Retorna a pasta definida na instalação ou selecionada pelo usuário na tela da escolha da pasta de instalação. É a pasta onde o programa será instalado. Por exemplo, "{app}\Programa.exe" poderia retornar "C:\Arquivos de programas\Meu Programa\Programa.exe". Obs.: utilizamos o termo "poderia retornar..." porque a pasta é dinâmica, e variará de acordo com o usuário e o micro dele. A pasta terá a mesma função, mas se a versão do sistema do usuário fosse um Windows em inglês, por exemplo, neste caso ela poderia retornar "C:\Program files\Meu Programa\Programa.exe", ou outra pasta, se o usuário decidisse instalar em outro lugar.

{win} Retorna a pasta do Windows. Por exemplo, "{win}\MeuPrograma.ini" poderia retornar "C:\windows\MeuPrograma.ini".

{sys} Retorna a pasta de sistema do Windows. Por exemplo, "C:\Windows\System" no Windows 98, e "C:\winnt\system32" no Windows 2000.

{src} Retorna a pasta a partir de onde o programa de instalação está rodando. Por exemplo, da pasta "Meus documentos" ou "Área de trabalho" do usuário.

{sd} Retorna a unidade onde o sistema operacional está instalado, geralmente "C:\". Na plataforma NT (Windows NT, 2000 ou XP) tem o mesmo valor que a variável de ambiente "SystemDrive".

{pf} A pasta Arquivos de programas. Geralmente é "C:\Arquivos de programas".

{cf} A pasta de Arquivos comuns. Geralmente é "C:\Arquivos de programas\Arquivos comuns".

{tmp} A pasta de arquivos temporários de instalação. Não corresponde a pasta "Temp" do micro do usuário. Geralmente é uma subpasta criada pelo instalador no momento da instalação, com um nome do tipo "C:\WINDOWS\TEMP\MepInstaller-xxxxx.tmp". Todos os arquivos e subpastas que estiverem dentro dessa pasta serão excluídos pelo instalador quando o mesmo for finalizado. É útil, por exemplo, para utilizar como o destino de programas que deverão ser executados pela seção [Run] após a instalação, mas que não precisarão ficar instalados na máquina do usuário.

{fonts} A pasta "Fonts", de fontes, geralmente dentro da pasta do Windows.

{dao}  A pasta DAO. Equivale a {cf}\Microsoft Shared\DAO.

Constantes de pastas do shell (ambiente visual do Windows)

Estas pastas são pastas específicas do ambiente visual do Windows. Sempre que possível, elas se referem à pasta comum para todos os usuários. Na plataforma NT, se o usuário não tiver direitos administrativos, estas constantes retornarão então as respectivas pastas do perfil do usuário corrente, e não de todos os usuários do sistema.

* = A forma "comum" desta constante equivale a forma de "usuário" no Windows 9x/Me.
Obs.: "comum" aqui, é o mesmo que "compartilhado entre usuários". A pasta "desktop" comum, é a pasta que contém itens que serão exibidos a todos os usuários do computador.

{group} Retorna a pasta de atalhos do programa no menu Iniciar, selecionada pelo usuário durante a instalação. No Windows NT/2000/XP esta pasta sempre se referirá a pasta sob o perfil de todos os usuários, "All users", exceto se o usuário que estiver instalando não possuir direitos administrativos.

{localappdata} A pasta de Dados de aplicativos locais (Application Data)

{sendto} A pasta SendTo (Enviar para) do usuário corrente. (Não existe uma pasta SendTo comum no Windows)

{userappdata} e {commonappdata}  * A pasta Application Data, respectivamente, do usuário e a comum.

{userdesktop} e {commondesktop} * A pasta referente à área de trabalho. É recomendável colocar os atalhos somente na pasta {userdesktop}, pois se for compartilhado, quando um usuário excluir o atalho, os outros usuários não terão mais acesso ao mesmo.

{userdocs} e {commondocs} * A pasta Meus documentos (ou, no Windows NT 4.0, a pasta pessoal - Personal folder).

{userfavorites} e {commonfavorites} A pasta dos links favoritos (por exemplo, para colocar um atalho para seu site). Utilizar uma destas constantes requer o uso de MinVersion com pelo menos "4.1, 4". Atualmente somente nas versões Windows 2000, Millennium ou superiores pode-se utilizar {commonfavorites}; se for utilizado {commonfavorites} numa versão de Windows anterior, ela retornará então o valor de {userfavorites} automaticamente.

{userprograms} e {commonprograms} * A pasta de programas do menu Iniciar.

{userstartmenu} e {commonstartmenu} * A pasta referente à parte superior do menu Iniciar.

{userstartup} e {commonstartup} * A pasta Iniciar (mais recentemente, Inicializar) do menu Iniciar. Utilize para colocar um atalho que será executado toda vez que o usuário efetuar logon.

{usertemplates} e {commontemplates} A pasta de Templates. Atualmente somente no Windows 2000, Me, ou superior existe a opção {commontemplates}; se for utilizada nas versões anteriores de Windows, ela retornará a pasta {usertemplates}.

Outras constantes

{\} Uma barra. Veja mais acima nesta página uma explicação sobre o uso de "{\}" e "\".

{%NOME_DA_VARIAVEL|ValorPadrao} O valor de uma variável de ambiente.

·  NOME_DA_VARIAVEL determina o nome da variável desejada.
·  Coloque no item ValorPadrao o valor que a constante assumirá se a variável de ambiente especificada não existir ou não estiver definida no sistema do usuário.
·  Se você deseja incluir uma vírgula ",", barra vertical "|", ou chave final "}" dentro da constante, você tem que colocar um símbolo "% - codificado". Substitua o caractere com um "%", seguido por seu código especial de dois dígitos hexadecimais. Para uma vírgula, o código é "%2c", para uma barra vertical é "%7c", e para uma chave final é "%7d". Se você quer incluir um caractere de porcentagem "%", utilize "%25."
· NOME_DA_VARIAVEL e ValorPadrao podem incluir constantes. Note que para utilizar uma constante não é necessário colocar o símbolo especial para chave, isso só se faz necessário quando a chave final for utilizada em outra coisa, que não uma constante.

Por exemplo: {%COMSPEC} ou {%PROMPT|$P$G}

{cmd} O caminho completo do interpretador de linha de comando do Windows. No Windows NT/2000/XP, é Windows\System32\cmd.exe. No Windows 9x/Me, geralmente é Windows\COMMAND.COM. Note que a variável de ambiente COMSPEC não é utilizada quando se expande esta constante.

{computername} O nome do computador onde o instalador está rodando. (Como o valor retornado pela função GetComputerName).

{groupname} O nome da pasta do grupo de programas que o usuário selecionou na instalação. É diferente da constante {group} porque retorna apenas o nome da pasta, e não o caminho completo.

{hwnd} (para propósito especial) Retorna o handle da janela de fundo do assistente de instalação.

{wizardhwnd} (para propósito especial) Retorna o handle da janela do assistente de instalação. Este handle será configurado para '0' se o handle da janela do assistente não estiver disponível quando o retorno for concluído.

{ini:Filename,Section,Key|DefaultValue} Pega como valor uma entrada de um arquivo INI.

·  Filename especifica o arquivo INI que será lido.
·  Section determina o nome da seção do arquivo INI desejada.
·  Key especifica a chave da seção do INI que contém o valor a ser retornado.
· DefaultValue determina uma string (texto) que será retornada se a chave especificada não for encontrada no INI, ou se o INI especificado não existir.
· Se você quiser incluir uma vírgula ",", barra vertical "|", ou uma chave de fechamento "}" dentro desta constante, você precisa utilizar a codificação especial "%-código". Substitua o caractere desejado por um caractere de por cento "%", seguido de dois dígitos hexadecimais. Uma vírgula é "%2c", uma barra vertical é "%7c", e a chave de fechamento é "%7d". Para incluir um caractere de por cento "%", utilize "%25".
· Os itens Filename, Section, e Key podem incluir constantes. Note que para utilizar uma constante não é necessário colocar o símbolo especial para chave, isso só se faz necessário quando a chave final for utilizada em outra coisa, que não uma constante.

Exemplo: {ini:{win}\MeuPrograma.ini,INSTALACAO,Caminho|{pf}\Meu programa}

{reg:HKxx\SubkeyName,ValueName|DefaultValue} Retorna o valor de uma determinada chave do registro do Windows.

· HKxx especifica a chave root do registro; veja o item que fala do registro, na seção [Registry] para ter uma lista das possíveis chaves.
· SubkeyName especifica o nome da subchave que será lida.
· ValueName determina o nome do chave em si que contém o valor que deverá ser retornado.
· DefaultValue determina uma string (texto) que será retornada se o valor especificado não existir, ou se não for do tipo string (REG_SZ ou REG_EXPAND_SZ).
· Se você quiser incluir uma vírgula ",", barra vertical "|", ou uma chave de fechamento "}" dentro desta constante, você precisa utilizar a codificação especial "%-código". Substitua o caractere desejado por um caractere de por cento "%", seguido de dois dígitos hexadecimais. Uma vírgula é "%2c", uma barra vertical é "%7c", e a chave de fechamento é "%7d". Para incluir um caractere de por cento "%", utilize "%25".
· Os itens SubkeyName, ValueName, e DefaultValue podem incluir constantes. Note que para utilizar uma constante não é necessário colocar o símbolo especial para chave, isso só se faz necessário quando a chave final for utilizada em outra coisa, que não uma constante.

Exemplo: {reg:HKLM\Software\Meu Programa,Instalacao|{pf}\Meu Programa}

{param:ParamName|DefaultValue} Retorna um valor passado como parâmetro na linha de comando.

· ParamName especifica o nome do parâmetro da linha de comando que terá seu valor retornado.
· DefaultValue determina uma string (texto) que será retornada se o parâmetro não existir, ou se não puder ser identificado.
· Se você quiser incluir uma vírgula ",", barra vertical "|", ou uma chave de fechamento "}" dentro desta constante, você precisa utilizar a codificação especial "%-código". Substitua o caractere desejado por um caractere de por cento "%", seguido de dois dígitos hexadecimais. Uma vírgula é "%2c", uma barra vertical é "%7c", e a chave de fechamento é "%7d". Para incluir um caractere de por cento "%", utilize "%25".
· Os itens ParamName e DefaultValue podem incluir constantes. Note que para utilizar uma constante não é necessário colocar o símbolo especial para chave, isso só se faz necessário quando a chave final for utilizada em outra coisa, que não uma constante.

Exemplo: {param:Path|{pf}\Meu Programa}
O exemplo acima retornará "c:\My Program" se na linha de comando um comando "/Path=C:\My Program" fosse especificado.

{srcexe} O nome completo (com o caminho) do programa de instalação, por exemplo, "C:\windows\desktop\Instalar.exe".

{uninstallexe} O nome completo (com o caminho) do programa de desinstalação. Comumente esta constante é utilizada na seção [Icons] para criar um atalho para desinstalar o programa no menu Iniciar. Só é válida se a diretiva Uninstallable na seção [Setup] estiver configurada para yes (o padrão).

{sysuserinfoname} e {sysuserinfoorg} O nome e a organização, respectivamente, que constam no registro do Windows. Essas informações aparecem ao clicar com o botão direito do mouse sobre o ícone "Meu computador" e depois em "Propriedades". Referem-se a quem registrou o Windows.

{userinfoname}, {userinfoorg} e {userinfoserial} O nome, a organização e o número serial, respectivamente, que o usuário preencheu na tela "Informações do usuário", durante a instalação. Esta tela aparece quando se habilita a diretiva UserInfoPage na seção [Setup]. Geralmente se utilizam os valores para gravá-los com as seções [Registry] ou [INI], para uso posterior (por exemplo, para mostrar o nome de registro na tela "Sobre/About" do seu programa).

{username} Retorna o nome do usuário no computador, que está instalando o programa (o mesmo que o valor da função GetUserName).


Clique aqui para voltar à tela inicial da ajuda