Detectamos um problema no IIS 7.5, em que temos um sistema de implantação simples que consiste no seguinte:
Crie um arquivo zip do novo webroot, composto por três pastas:
Api
Site
Manager
Isso é descompactado em uma nova pasta (digamos que chamamos de "SITE_REV1") e contém um script que chama o seguinte (um para cada raiz da web):
C:\Windows\system32\inetsrv\appcmd set vdir "www.site.com/" -physicalPath:"SITE_REV1\Site"
Isso geralmente funciona, em 9/10 vezes. Em alguns casos, a raiz da web parece ter sido atualizada corretamente (se eu inspecionar configurações básicas no Gerenciador do IIS, o caminho parece correto), mas o site em execução na verdade está apontado para o local antigo. A única maneira de conseguirmos "consertar" é executando uma redefinição do IIS. Não é suficiente reciclar o pool de aplicativos em questão.
Às vezes, parece até necessário fazer uma reinicialização, mas não tenho 100% de certeza de que seja preciso (nem sempre fui eu quem estava corrigindo o problema).
Reescrevi o script usando o Powershell e o módulo de administração da Web, esperando que houvesse uma falha no appcmd, mas o mesmo problema ocorre.
Set-ItemProperty "IIS:\Sites\www.site.com" -Name physicalPath -Value "SITE_REV1\Site"
Alguém já experimentou algo assim? Alguém tem alguma idéia do que está acontecendo e o que posso tentar fazer para evitar esse problema? Fazer uma redefinição do IIS não é realmente uma boa opção para nós, porque isso afetaria todos os sites no servidor toda vez que tentamos implantar alterações em um único site.
EDIT: identificamos que uma partida / parada do site (NÃO o pool de aplicativos) no Gerenciador do IIS resolve o caminho físico incorreto, mas se eu parar o site usando appcmd, altere o caminho físico e inicie-o, ainda sofro de os mesmos problemas. Estou em branco ...