Partilhar via


Instalação automatizada do SymProxy

Essas etapas, juntamente com o script Install.cmd abaixo, podem ajudar a automatizar a instalação do SymProxy em uma instalação padrão do IIS. Você provavelmente precisará adaptar essas etapas às necessidades específicas do seu ambiente.

  1. Crie a pasta D:\SymStore\Symbols.

    • Conceder Leitura a Todos

    • Conceder leitura\gravação à conta de utilizador do grupo de aplicações SymProxy (Domínio\Utilizador)

  2. Compartilhe D:\SymStore\Symbols como símbolos.

    • Conceder Permissão de Leitura a Todos (ou seja mais específico)
  3. (Opcionalmente) Crie um arquivo vazio chamado index2.txt em D:\SymStore\Symbols.

  4. (Opcionalmente) Crie um arquivo vazio chamado %WINDIR%\system32\inetsrv\symsrv.yes. Ao aceitar, concorda com o EULA do Microsoft Public Symbol Store.

  5. Determine os parâmetros para Install.cmd e execute-o.

  6. Configure o caminho do símbolo de clientes usando o nome do servidor que você criou.

    SRV*\\MachineName\Symbols*https://MachineName/Symbols
    

O script Install.cmd requer 3 parâmetros:

  • Caminho do diretório virtual (por exemplo, D:\SymStore\Symbols )
  • Nome de usuário (para o pool de aplicativos)
  • Senha (para o pool de aplicativos)

Para limpar a herança do tipo MIME, é necessário um arquivo XML para acionar o comando AppCmd.exe associado. Coloque o arquivo staticContentClear.xml mostrado abaixo na mesma pasta que o script Install.cmd para obter esse resultado.

Exemplo de uso do parâmetro Install.Cmd:

Install.cmd D:\SymStore\Symbols CONTOSO\SymProxyService Pa$$word

Install.cmd

@echo off

SET VirDirectory=%1
SET UserName=%2
SET Password=%3

::
::  SymProxy dll installation. 
::

copy symproxy.dll %windir%\system32\inetsrv
copy symproxy.man %windir%\system32\inetsrv
copy symsrv.dll %windir%\system32\inetsrv

lodctr.exe /m:%windir%\system32\inetsrv\symproxy.man
wevtutil.exe install-manifest %windir%\System32\inetsrv\symproxy.man
regedit.exe /s symproxy.reg

::
::  Web server Configuration
::

IF not exist %VirDirectory% mkdir %VirDirectory%

rem Make the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe add site -site.name:"Default Web Site" -bindings:"http/*:80:" -physicalPath:C:\inetpub\wwwroot

rem Enabled Directory Browsing on the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:system.webServer/directoryBrowse /enabled:"True"

rem Make the 'SymProxy App Pool'
%windir%\system32\inetsrv\appcmd.exe add apppool -apppool.name:SymProxyAppPool -managedRuntimeVersion:
%windir%\system32\inetsrv\appcmd.exe set apppool -apppool.name:SymProxyAppPool -processModel.identityType:SpecificUser -processModel.userName:%UserName% -processModel.password:%Password% 

rem Make the 'Symbols' Virtual Directory and assign the 'SymProxy App Pool'
%windir%\system32\inetsrv\appcmd.exe add app -site.name:"Default Web Site" -path:/Symbols -physicalpath:%VirDirectory%
%windir%\system32\inetsrv\appcmd.exe set app -app.name:"Default Web Site/Symbols" -applicationPool:SymProxyAppPool

rem Disable 'web.config' for folders under virtual directories in the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config -section:system.applicationHost/sites "/[name='Default Web Site'].virtualDirectoryDefaults.allowSubDirConfig:false

rem Add the 'SymProxy ISAPI Filter'
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/isapiFilters /+"[name='SymProxy',path='%windir%\system32\inetsrv\SymProxy.dll',enabled='True']

rem Clear the MIME Types on the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config -in "Default Web Site" < staticContentClear.xml

rem Add * to the MIME Types of the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:staticContent /+"[fileExtension='.*',mimeType='application/octet-stream']"

staticContentClear.xml

<?xml version="1.0" encoding="UTF-8"?>
<appcmd>
    <CONFIG CONFIG.SECTION="system.webServer/staticContent"                  path="MACHINE/WEBROOT/APPHOST">
        <system.webServer-staticContent>
            <clear />
        </system.webServer-staticContent>
    </CONFIG>
</appcmd>    

Testando a instalação do SymProxy

O sistema deve agora estar pronto para adquirir e servir ficheiros. Para testá-lo, comece reiniciando o serviço IISAdmin executando iisreset.exe. Isso recarregará o filtro ISAPI com a configuração atual do IIS e do SymProxy.

Configure um depurador para usar o seguinte caminho de símbolos:

srv*\\MachineName\Symbols*https://MachineName/Symbols

Se MissTimeout estiver ativado (é definido como 300 segundos por padrão), executar o comando .reload /f duas vezes deve resultar em uma execução muito mais rápida na segunda vez.

Para visualizar a localização dos PDBs que estão sendo referenciados, use o comando lm (list modules). O caminho para os PDBs deve começar com \\MachineName\Symbols.

Se a navegação no diretório estiver habilitada no site, navegue até https://MachineName/Symbols para ver os arquivos armazenados em cache.

Abra o Monitor de Desempenho e visualize os contadores do Proxy de Símbolos.

Abra o Visualizador de Eventos e visualize os eventos Microsoft\Windows\SymProxy.

Ver também

Instalação do SymProxy