次の方法で共有


SymProxy の自動インストール

以下のInstall.cmd スクリプトと共にこれらの手順は、既定の IIS インストールへの SymProxy のインストールを自動化するのに役立ちます。 これらの手順は、環境の特定のニーズに合わせる必要があります。

  1. D:\SymStore\Symbols フォルダーを作成します。

    • すべてのユーザーの読み取りを許可します。

    • SymProxy アプリ プールのユーザー アカウント (Domain\User) に読み取り/書き込みを許可する

  2. D:\SymStore\Symbols をシンボルとして共有します。

    • すべてのユーザーに読み取りを許可する (またはより具体的にする)
  3. (必要に応じて)D:\SymStore\Symbols に index2.txt という名前の空のファイルを作成します。

  4. (必要に応じて)\system32\inetsrv\symsrv.yes %WINDIR%という名前の空のファイルを作成します。 これは、Microsoft パブリック シンボル ストアの EULA を受け入れます。

  5. Install.cmdのパラメーターを決定して実行します。

  6. 作成したサーバー名を使用して、クライアント シンボル パスを構成します。

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

Install.cmd スクリプトには、次の 3 つのパラメーターが必要です。

  • 仮想ディレクトリ パス (例: D:\SymStore\Symbols)
  • ユーザー名 (アプリケーション プール用)
  • パスワード (アプリケーション プール用)

MIME の種類の継承をクリアするには、関連付けられている AppCmd.exe コマンドを実行するために XML ファイルが必要です。 この結果を得るには、次に示す staticContentClear.xml ファイルを Install.cmd スクリプトと同じフォルダーに配置します。

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>    

SymProxy インストールのテスト

これで、システムはファイルを取得して提供する準備が整いました。 テストするには、まず、iisreset.exeを実行して IISAdmin サービスを再起動します。 これにより、現在の IIS と SymProxy 構成で ISAPI フィルターが再読み込みされます。

次のシンボル パスを使用するようにデバッガーを構成します。

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

MissTimeout が有効になっている場合 (既定では 300 秒に設定されています)、.reload /f コマンドを 2 回実行すると、2 回目の実行がはるかに高速になります。

参照されている PDB の場所を表示するには、lm (list modules) コマンドを使用します。 PDB へのパスはすべて \\MachineName\Symbols で始まる必要があります。

Web サイトでディレクトリ参照が有効になっている場合は、https://MachineName/Symbols を参照して、キャッシュされているファイルを確認します。

パフォーマンス モニターを開き、シンボル プロキシ カウンターを表示します。

イベント ビューアーを開き、Microsoft\Windows\SymProxy イベントを表示します。

関連項目

SymProxy のインストール