Installazione automatizzata di SymProxy
Questi passaggi insieme allo script Install.cmd riportato di seguito consentono di automatizzare l'installazione di SymProxy in un'installazione predefinita di IIS. È probabile che sia necessario adattare questi passaggi alle esigenze specifiche dell'ambiente.
Creare la cartella D:\SymStore\Symbols.
Concedi lettura a tutti
Concedere lettura\scrittura all'account utente del pool di app SymProxy (dominio\utente)
Condividi D:\SymStore\Symbols come simboli.
- Concedere lettura a tutti (o essere più specifici)
(Facoltativamente) Creare un file vuoto denominato index2.txt in D:\SymStore\Symbols.
(Facoltativamente) Creare un file vuoto denominato %WINDIR%\system32\inetsrv\symsrv.yes. Accetta il contratto di licenza per l'archivio simboli pubblici Microsoft.
Determinare i parametri per Install.cmd ed eseguirlo.
Configurare il percorso del simbolo dei client usando il nome del server creato.
SRV*\\MachineName\Symbols*https://MachineName/Symbols
Lo script Install.cmd richiede 3 parametri:
- Percorso directory virtuale (ad esempio D:\SymStore\Symbols)
- Nome utente (per il pool di applicazioni)
- Password (per il pool di applicazioni)
Per cancellare l'ereditarietà del tipo MIME, è necessario un file XML per l'unità del comando AppCmd.exe associato. Inserire il file staticContentClear.xml illustrato di seguito nella stessa cartella dello script Install.cmd per ottenere questo risultato.
Esempio di utilizzo dei parametri 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>
Test dell'installazione di SymProxy
Il sistema dovrebbe ora essere pronto per acquisire e gestire i file. Per testarla, riavviare il servizio IISAdmin eseguendo iisreset.exe. Verrà ricaricato il filtro ISAPI con la configurazione corrente di IIS e SymProxy.
Configurare un debugger per l'uso di questo percorso di simboli:
srv*\\MachineName\Symbols*https://MachineName/Symbols
Se MissTimeout è abilitato (per impostazione predefinita è impostato su 300 secondi), l'esecuzione del comando .reload /f due volte dovrebbe comportare un'esecuzione molto più veloce la seconda volta.
Per visualizzare la posizione dei PDB a cui si fa riferimento, usare il comando lm (list modules). Il percorso dei PDB deve iniziare tutti con \\MachineName\Symbols.
Se l'esplorazione della directory è abilitata nel sito Web, passare a https://MachineName/Symbols per visualizzare i file memorizzati nella cache.
Aprire il Monitor prestazioni e visualizzare i contatori proxy simbolo.
Aprire il Visualizzatore eventi e visualizzare gli eventi Microsoft\Windows\SymProxy.