Pergunta

Estou tentando configurar a instalação automatizada (noturna) do meu projeto de configuração de site.Posso especificar alguns valores de tempo de instalação na linha de comando;em particular, adicionando um TARGETSITE O valor define o site para o qual minha nova implantação irá.

Como encontro a chave da metabase do meu site (por exemplo."/LM/W3SVC/213548468") em uma instalação IIS7?(Tenho a compatibilidade com IIS6 totalmente configurada, mas não consigo encontrar nada sobre meu site no metabase.xml arquivo.)

Além disso, como os projetos de configuração de implantação na Web são mecanismos obviamente desatualizados (acho que eram muito fáceis de usar?), Alguém tem uma ideia melhor para minhas implantações automatizadas noturnas?

Foi útil?

Solução

No IIS 7 e superior não usamos mais a metabase e em vez disso mudamos para um modelo ".config" onde armazenamos todas as configurações dentro de "%windir%\system32\inetsrv\config\applicationHost.config", é onde você irá encontre todas as informações e configurações que você aplica.Se você habilitar a compatibilidade do IIS 6, executaremos todos os comandos traduzindo-os diretamente no novo ApplicationHost.config.

Seria útil saber mais sobre como você está fazendo isso hoje. Se você usa código gerenciado, provavelmente a melhor solução é usar Microsoft.Web.Administration (http://blogs.msdn.com/b/carlosag/archive/2006/04/17/microsoftwebadministration.aspx) que inclui uma classe chamada ServerManager para permitir que você defina tudo o que precisa.

Se você usa scripts (vbscript/jscript), você pode continuar usando seus scripts ou, em vez disso, usar AHADMIN, que é nossa nova API de configuração COM subjacente.

se você usa o PowerShell, também temos um provedor do PowerShell (http://www.iis.net/download/PowerShell) forneça qual deve ser o melhor nesse caso.

Além disso, se você realmente deseja empacotar conteúdo e configuração e outras coisas como configurações de registro, objetos COM, dlls GAC, etc, você deve usar o Web Deploy (http://www.iis.net/download/WebDeploy)

Outras dicas

Não sei nada sobre metabase, mas a partir de suas postagens consegui juntar o seguinte:

import-module WebAdministration
$site = get-website | Where-object {$_.Name -eq "SiteName"}

$id=$site.ID

setup.msi /passive TARGETAPPPOOL=`"ASP.NET v4.0`" TARGETSITE="/LM/W3SVC/"$id

As marcas de crase são os caracteres de escape do PowerShell.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top