Automatizovaná instalace SymProxy
Tyto kroky spolu se skriptem Install.cmd níže vám můžou pomoct automatizovat instalaci SymProxy na výchozí instalaci služby IIS. Tyto kroky budete pravděpodobně muset přizpůsobit konkrétním potřebám vašeho prostředí.
Vytvořte složku D:\SymStore\Symbols.
Udělení oprávnění ke čtení všem
Udělit oprávnění k čtení a zápisu uživatelskému účtu fondu aplikací SymProxy (Doména\Uživatel)
Sdílejte D:\SymStore\Symboly jako symboly.
- Udělit oprávnění ke čtení všem (nebo konkrétněji)
(Volitelně) Vytvořte prázdný soubor s názvem index2.txt v D:\SymStore\Symbols.
(Volitelně) Vytvořte prázdný soubor s názvem %WINDIR%\system32\inetsrv\symsrv.yes. To přijímá smlouvu EULA pro veřejné úložiště symbolů Microsoftu.
Určete parametry pro Install.cmd a spusťte ho.
Nakonfigurujte cestu symbolu klientů pomocí názvu serveru, který jste vytvořili.
SRV*\\MachineName\Symbols*https://MachineName/Symbols
Skript Install.cmd vyžaduje 3 parametry:
- Cesta k virtuálnímu adresáři (např. D:\SymStore\Symbols)
- Uživatelské jméno (pro fond aplikací)
- Heslo (pro aplikační fond)
K vymazání dědičnosti MIME typu je potřeba soubor XML pro spuštění přidruženého příkazu AppCmd.exe. Umístěte soubor staticContentClear.xml uvedený níže do stejné složky jako skript Install.cmd, k dosažení tohoto výsledku.
Příklad použití parametru 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>
Testování instalace SymProxy
Systém by teď měl být připravený na získání a obsluhu souborů. Chcete-li ji otestovat, spusťte restartování služby IISAdmin spuštěním iisreset.exe. Tím se znovu načte filtr ISAPI s aktuální konfigurací IIS a SymProxy.
Nakonfigurujte ladicí program tak, aby používal tuto cestu symbolu:
srv*\\MachineName\Symbols*https://MachineName/Symbols
Pokud je MissTimeout povolená (ve výchozím nastavení je nastavená na 300 sekund), spuštění příkazu .reload /f dvakrát by mělo vést k mnohem rychlejšímu spuštění podruhé.
Pokud chcete zobrazit umístění odkazovaných souborů PDB, použijte příkaz lm (list modules). Cesta k souborům PDB by měla začínat znakem \\MachineName\Symbols.
Pokud je na webu povolené procházení adresářů, přejděte na https://MachineName/Symbols a zobrazte soubory, které jsou uložené v mezipaměti.
Otevřete Nástroj Sledování výkonu a zobrazte čítače proxy symbolů.
Otevřete Prohlížeč událostí a zobrazte události Microsoft\Windows\SymProxy.