Share via


Instalación automatizada de SymProxy

Estos pasos junto con el script Install.cmd siguiente pueden ayudar a automatizar la instalación de SymProxy en una instalación de IIS predeterminada. Es probable que tenga que adaptar estos pasos a las necesidades específicas de su entorno.

  1. Cree la carpeta D:\SymStore\Symbols.

    • Conceder lectura a todos

    • Conceder lectura y escritura a la cuenta de usuario del grupo de aplicaciones de SymProxy (Dominio\Usuario)

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

    • Conceder lectura a todos (o ser más específico)
  3. (Opcionalmente) Cree un archivo vacío denominado index2.txt en D:\SymStore\Symbols.

  4. (Opcionalmente) Cree un archivo vacío denominado %WINDIR%\system32\inetsrv\symsrv.yes. Esto acepta el CLUF para el Almacén de símbolos públicos de Microsoft.

  5. Determine los parámetros de Install.cmd y ejecútelo.

  6. Configure la ruta de acceso de símbolo de los clientes con el nombre del servidor que ha creado.

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

El script Install.cmd requiere 3 parámetros:

  • Ruta de acceso del directorio virtual (por ejemplo, D:\SymStore\Symbols )
  • Nombre de usuario (para el grupo de aplicaciones)
  • Contraseña (para el grupo de aplicaciones)

Para borrar la herencia de tipos MIME, se necesita un archivo XML para controlar el comando de AppCmd.exe asociado. Coloque el archivo staticContentClear.xml que se muestra a continuación en la misma carpeta que el script Install.cmd para lograr este resultado.

Ejemplo de uso de parámetros 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 Configuraiton
::

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>    

Probar la instalación de SymProxy

El sistema debe estar listo para adquirir y servir archivos. Para probarlo, empiece por reiniciar el servicio IISAdmin mediante la ejecución de iisreset.exe. Esto volverá a cargar el filtro ISAPI con la configuración actual de IIS y SymProxy.

Configure un depurador para usar esta ruta de acceso de símbolos:

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

Si MissTimeout está habilitado (se establece en 300 segundos de forma predeterminada), la ejecución del comando .reload /f dos veces debería dar lugar a una ejecución mucho más rápida la segunda vez.

Para ver la ubicación de los ARCHIVOS PDB a los que se hace referencia, use el comando lm (módulos de lista). La ruta de acceso a los ARCHIVOS PDB debe comenzar con \\MachineName\Symbols.

Si la exploración de directorios está habilitada en el sitio web, vaya a para https://MachineName/Symbols ver los archivos almacenados en caché.

Abra el Monitor de rendimiento y vea los contadores de Proxy de símbolos.

Abra el Visor de eventos y vea los eventos Microsoft\Windows\SymProxy.

Vea también

Instalación de SymProxy