INTRODUÇÃO
O Instalador windows fornece APIs que permitem a um utilizador consultar a base de dados do Instalador do Windows para a presença de um determinado produto. Cada produto é identificado exclusivamente pelo seu código de produto, que é um GUID. Este artigo fornece amostras de código que mostram como verificar programáticamente a presença de um produto baseado no Instalador do Windows utilizando o seu código de produto.
Mais Informações
Ligue para a API de Visual C++
Segue-se um exemplo de como pode chamar o método MsiGetProductInfoExW() no Visual C++ para detetar a presença de um produto específico. O produto é especificado pelo seu código de produto único GUID.
TCHAR szVersion[20];DWORD cchVersion = 20;BOOL fInstalled = (ERROR_SUCCESS == MsiGetProductInfoEx (TEXT("{ProductCode}"), NULL, MSIINSTALLCONTEXT_MACHINE, INSTALLPROPERTY_VERSIONSTRING, szVersion, &cchVersion));
Neste fragmento de exemplo de código, a variável Boolean fInstalled conterá um valor VERDADEIRO ou FALSO, dependendo se o produto especificado está instalado ou não instalado.
Ligue para a API do VBScript
Segue-se um exemplo de como pode ligar para o método ProductInfo() no WindowsInstaller.Installer object in Microsoft Visual Basic Script para detetar a presença de um produto específico. O produto é especificado pelo seu código de produto único GUID.
Dim msi : Set msi = CreateObject("WindowsInstaller.Installer")On Error Resume NextDim version : version = msi.ProductInfo("{ProductCode}", "VersionString")Dim installed : installed = ( Err.Number = 0 )
Neste fragmento de exemplo de código, a variável instalada conterá um valor de 0 ou 1, dependendo se o produto especificado está instalado ou não instalado.Nota A propriedade ProductCode que é passada para as funções em ambos os exemplos aqui incluem aparelhos ({ }) dentro das marcas de aspas. Para mais informações sobre o Instalador do Windows, visite a seguinte página web do Microsoft Windows Installer MSDN:
http://msdn.microsoft.com/en-us/library/aa367449(VS.85).aspxPara obter mais informações sobre como obter a versão mais recente do Instalador do Windows para o seu computador, visite a seguinte página Web da Microsoft:
http://www.microsoft.com/download/details.aspx?familyid=5A58B56F-60B6-4412-95B9-54D056D6F9F4&displaylang=en Para mais informações, visite as seguintes páginas Web da Microsoft:
-
Utilização do Instalador do Windows para Produtos e Patches de Inventáriohttp://msdn.microsoft.com/en-us/library/aa369558 (VS.85).aspx
-
Determinação do Contexto de Instalaçãohttp://msdn.microsoft.com/en-us/library/aa368279 (VS.85).aspx
-
Produtos de lista, propriedades, funcionalidades e componenteshttp://msdn.microsoft.com/en-us/library/aa369767 (VS.85).aspx
-
Obtenção de Informações sobre aplicaçõeshttp://msdn.microsoft.com/en-us/library/aa368761 (VS.85).aspx
-
Função MsiGetProductInfohttp://msdn.microsoft.com/en-us/library/aa370131 (VS.85).aspx
-
Installer.ProductInfo Propertyhttp://msdn.microsoft.com/en-us/library/aa369457(VS.85).aspx
-
Função MsiQueryProductState http://msdn.microsoft.com/en-us/library/aa370363 (VS.85).aspx
-
Installer.ProductState Property Method http://msdn.microsoft.com/en-us/library/aa369463 (VS.85).aspx
-
ProductCode Property http://msdn.microsoft.com/en-us/library/aa370854 (VS.85).aspx
Nota sobre a secção "Aplica-se a"Para além dos produtos listados na secção "Aplica-se a", as informações deste artigo aplicam-se igualmente ao seguinte produto:
-
Instalador windows 4.0