Compartilhar via


Função MsiSourceListAddMediaDiskA (msi.h)

A função MsiSourceListAddMediaDisk adiciona ou atualiza um disco da fonte de mídia de um produto ou patch registrado. Se o disco especificado já existir, ele será atualizado com os novos valores. Se o disco especificado não existir, uma nova entrada de disco será criada com os novos valores.

Sintaxe

UINT MsiSourceListAddMediaDiskA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           DWORD             dwDiskId,
  [in]           LPCSTR            szVolumeLabel,
  [in, optional] LPCSTR            szDiskPrompt
);

Parâmetros

[in] szProductCodeOrPatchCode

O ProductCode ou o GUID de patch do produto ou patch. Use uma cadeia de caracteres terminada em nulo. Se a cadeia de caracteres tiver mais de 39 caracteres, a função falhará e retornará ERROR_INVALID_PARAMETER. Esse parâmetro não pode ser NULL.

[in, optional] szUserSid

Esse parâmetro pode ser um SID de cadeia de caracteres que especifica a conta de usuário que contém o produto ou patch. O SID não é validado ou resolvido. Um SID incorreto pode retornar ERROR_UNKNOWN_PRODUCT ou ERROR_UNKNOWN_PATCH.

Tipo de SID Significado
NULO
NULL indica o usuário conectado no momento. Ao referenciar a conta de usuário atual, szUserSID pode ser NULL e dwContext pode ser MSIINSTALLCONTEXT_USERMANAGED ou MSIINSTALLCONTEXT_USERUNMANAGED.
SID de usuário
Especifica a enumeração para um usuário específico no sistema. Um exemplo de SID do usuário é "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Nota A cadeia de caracteres SID especial s-1-5-18 (sistema) não pode ser usada para enumerar produtos ou patches instalados como por computador. Definir o valor sid como s-1-5-18 retorna ERROR_INVALID_PARAMETER. Quando dwContext é definido apenas como MSIINSTALLCONTEXT_MACHINE, szUserSid deve ser NULL.
 
Nota A cadeia de caracteres SID especial s-1-1-0 (todos) não deve ser usada. A configuração do valor sid como s-1-1-0 falha e retorna ERROR_INVALID_PARAM .
 

[in] dwContext

Esse parâmetro especifica o contexto da instância do produto ou patch. Esse parâmetro pode conter um dos valores a seguir.

Tipo de contexto Significado
MSIINSTALLCONTEXT_USERMANAGED
A instância do produto ou patch existe no contexto por usuário gerenciado.
MSIINSTALLCONTEXT_USERUNMANAGED
A instância do produto ou patch existe no contexto por usuário não gerenciado.
MSIINSTALLCONTEXT_MACHINE
A instância do produto ou patch existe no contexto por computador.

[in] dwOptions

O valor dwOptions especifica o significado de szProductCodeOrPatchCode.

Sinalizador Significado
MSICODE_PRODUCT
szProductCodeOrPatchCode é um GUID de código de produto.
MSICODE_PATCH
szProductCodeOrPatchCode é um GUID de código de patch.

[in] dwDiskId

Esse parâmetro fornece a ID do disco sendo adicionado ou atualizado.

[in] szVolumeLabel

O szVolumeLabel fornece o rótulo do disco que está sendo adicionado ou atualizado. Uma atualização substitui o rótulo do volume existente no registro. Para alterar apenas o prompt de disco, obtenha o rótulo de volume existente do registro e forneça-o nesta chamada junto com o novo prompt de disco. Passar uma cadeia de caracteres NULL ou vazia para szVolumeLabel registra uma cadeia de caracteres vazia (0 bytes de comprimento) como o rótulo de volume.

[in, optional] szDiskPrompt

Na entrada para MsiSourceListAddMediaDisk, szDiskPrompt fornece o prompt de disco do disco que está sendo adicionado ou atualizado. Uma atualização substitui o prompt de disco registrado.
Para alterar apenas o rótulo de volume, obtenha o prompt de disco existente que está registrado e forneça-o ao chamar MsiSourceListAddMediaDisk junto com o novo rótulo de volume. Passar NULL ou uma cadeia de caracteres vazia registra uma cadeia de caracteres vazia (0 bytes de comprimento) como o prompt de disco.

Valor retornado

A função MsiSourceListAddMediaDisk retorna os valores a seguir.

Valor Significado
ERROR_ACCESS_DENIED
O usuário não tem a capacidade de ler a fonte de mídia especificada ou o produto ou patch especificado. Isso não indica se uma fonte de mídia, produto ou patch foi encontrado.
ERROR_BAD_CONFIGURATION
Os dados de configuração estão corrompidos.
ERROR_INSTALL_SERVICE_FAILURE
Não foi possível acessar o Serviço Windows Installer.
ERROR_INVALID_PARAMETER
Um parâmetro inválido foi passado para a função.
ERROR_SUCCESS
O valor foi reordenado com êxito.
ERROR_UNKNOWN_PATCH
O patch não foi encontrado.
ERROR_UNKNOWN_PRODUCT
O produto não foi encontrado.
ERROR_FUNCTION_FAILED
Falha interna inesperada.

Comentários

Os administradores podem modificar a instalação de uma instância de patch ou produto que existe no contexto do computador ou em seu próprio contexto por usuário (gerenciado ou não gerenciado).) Eles podem modificar a instalação de uma instância de patch ou produto que existe no contexto por usuário gerenciado por usuário. Os administradores não podem modificar a instalação de outro usuário de uma instância de patch ou produto que existe no contexto não gerenciado por usuário desse outro usuário.

Os não administradores não podem modificar a instalação de uma instância de produto ou patch que existe no contexto por usuário de outro usuário (gerenciado ou não gerenciado).) Eles podem modificar a instalação de uma instância de produto ou patch que existe em seu próprio contexto por usuário não gerenciado. Eles podem modificar a instalação de uma instância de produto ou patch no contexto do computador ou no próprio contexto gerenciado por usuário somente se estiverem habilitados para procurar uma fonte de patch ou produto. Os usuários podem ser habilitados para procurar fontes definindo a política. Para obter mais informações, consulte Políticas DisableBrowse, AllowLockdownBrowse, AllowLockDownMedia e AlwaysInstallElevated .

Observação

O cabeçalho msi.h define MsiSourceListAddMediaDisk como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows Installer 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Windows Installer 3.0 ou versões posteriores no Windows Server 2003 ou no Windows XP. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer.
Plataforma de Destino Windows
Cabeçalho msi.h
Biblioteca Msi.lib
DLL Msi.dll

Confira também

Sem suporte no Windows Installer 2.0 e nas versões anteriores

ProductCode