Condividi tramite


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.

  1. Creare la cartella D:\SymStore\Symbols.

    • Concedi lettura a tutti

    • Concedere lettura\scrittura all'account utente del pool di app SymProxy (dominio\utente)

  2. Condividi D:\SymStore\Symbols come simboli.

    • Concedere lettura a tutti (o essere più specifici)
  3. (Facoltativamente) Creare un file vuoto denominato index2.txt in D:\SymStore\Symbols.

  4. (Facoltativamente) Creare un file vuoto denominato %WINDIR%\system32\inetsrv\symsrv.yes. Accetta il contratto di licenza per l'archivio simboli pubblici Microsoft.

  5. Determinare i parametri per Install.cmd ed eseguirlo.

  6. 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.

Vedere anche

Installazione di SymProxy