Instalación automatizada de SymProxy
Estos pasos junto con el script de 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.
Cree la carpeta D:\SymStore\Symbols.
Conceder lectura a todos
Conceder permisos de Lectura/Escritura a la cuenta de usuario del grupo de aplicaciones de SymProxy (Dominio\Usuario)
Comparta D:\SymStore\Symbols como símbolos.
- Conceder lectura a todos (o ser más específico)
(Opcionalmente) Cree un archivo vacío denominado index2.txt en D:\SymStore\Symbols.
(Opcionalmente) Cree un archivo vacío denominado %WINDIR%\system32\inetsrv\symsrv.yes. Esto implica la aceptación del EULA (CLUF) para el almacén de símbolos públicos de Microsoft.
Determine los parámetros de Install.cmd y ejecútelo.
Configure la ruta de acceso al símbolo de los clientes con el nombre del servidor que creó.
SRV*\\MachineName\Symbols*https://MachineName/Symbols
El script de 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 del tipo MIME, se necesita un archivo XML para controlar el comando AppCmd.exe asociado. Coloque el archivo staticContentClear.xml que se muestra a continuación en la misma carpeta que el script de 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 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>
Prueba de la instalación de SymProxy
El sistema debe estar listo para adquirir y servir archivos. Para probarlo, empiece por reiniciar el servicio IISAdmin ejecutando 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), ejecutar el 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 PDF 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 https://MachineName/Symbols para ver los archivos almacenados en caché.
Abra el Monitor de rendimiento y vea los contadores proxy de símbolos.
Abra el Visor de eventos y vea los eventos Microsoft\Windows\SymProxy.