Generování informací registru pro instalační program
Nástroj RegPkg.exe lze použít k vygenerování manifestu registrace pro spravovaný balíček VSPackage. Manifest lze začlenit do instalačního balíčku Instalační služby systému Windows. RegPkg může také vygenerovat soubor, který lze zahrnout do zdrojového souboru instalačního programu na základě sady nástrojů XML instalační služby systému Windows.
Důležité
RegPkg generuje názvy cest, které jsou specifické pro váš vývojový systém, takže pokaždé, když použijete RegPkg, musíte upravit výstup tak, aby používal příslušné vlastnosti formátované instalační službou systému Windows. Například InprocServer32
hodnota by měla být <SystemFolder>mscoree.dll a cesty by měly používat <#filekey> a< $componentkey.> Úprava výstupu tímto způsobem podporuje počítače s Windows nainstalovanými na jiné jednotce nebo v jiném adresáři, lokalizovaných názvech adresářů a cestách, které můžou uživatelé zvolit. Další informace najdete v tématu Formátování v sadě Windows Installer SDK. Pokud dodržujete konvence RegPkg pro vývojové systémové cesty , například ID souborů formuláře File_< název>_souboru, potřebujete méně změn.
Vytvoření manifestu registrace
Spusťte RegPkg s přepínačem /regfile . Zadejte všechny další přepínače, název výstupního souboru a cestu balíčku VSPackage.
Například na příkazovém řádku byste zadali něco podobného:
<Visual Studio SDK installation path>\VisualStudioIntegration\Tools\Bin\RegPkg /regfile:MyRegFile.reg MyPackage.dll
Zobrazení manifestu registrace
Otevřete manifest registrace v libovolném textovém editoru.
Následující příklad je manifest registrace, který RegPkg vytvoří pro službu ironPython language service:
REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Languages] [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Languages\CodeExpansions] [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Languages\CodeExpansions\Python] @="{ae8ce01a-b3ff-4c19-8c80-54669c197f2c}" "DisplayName"="131" "IndexPath"="C:\\VSSDK80\\2006.07\\VisualStudioIntegration\\Samples\\IronPythonIntegration\\bin\\Release\\CodeSnippets\\SnippetsIndex.xml" "LangStringId"="python" "Package"="{1b05e2b4-7c21-4f63-910e-29fe55eb5f8b}" "ShowRoots"=dword:00000000 [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Languages\CodeExpansions\Python\ForceCreateDirs] "Python"="C:\\VSSDK80\\2006.07\\VisualStudioIntegration\\Samples\\IronPythonIntegration\\bin\\Release\\CodeSnippets\\Snippets\\;%MyDocs%\Code Snippets\Python\My Code Snippets\" [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Languages\CodeExpansions\Python\Paths] "Python"="C:\\VSSDK80\\2006.07\\VisualStudioIntegration\\Samples\\IronPythonIntegration\\bin\\Release\\CodeSnippets\\Snippets\\;%MyDocs%\Code Snippets\Python\My Code Snippets\" [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Packages] [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Packages\{1b05e2b4-7c21-4f63-910e-29fe55eb5f8b}] @="Microsoft.Samples.VisualStudio.IronPythonLanguageService.PythonPackage, IronPython.LanguageService, Version=1.0.2373.36479, Culture=neutral, PublicKeyToken=null" "InprocServer32"="C:\\WINNT\\system32\\mscoree.dll" "Class"="Microsoft.Samples.VisualStudio.IronPythonLanguageService.PythonPackage" "Assembly"="IronPython.LanguageService, Version=1.0.2373.36479, Culture=neutral, PublicKeyToken=null" [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Languages] [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Languages\File Extensions] [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Languages\File Extensions\.py] @="{ae8ce01a-b3ff-4c19-8c80-54669c197f2c}" [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Languages] [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Languages\Language Services] [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Languages\Language Services\Python] @="{ae8ce01a-b3ff-4c19-8c80-54669c197f2c}" "Package"="{1b05e2b4-7c21-4f63-910e-29fe55eb5f8b}" "LangResID"=dword:00000064 "ShowMatchingBrace"=dword:00000001 "CodeSense"=dword:00000001 "MatchBraces"=dword:00000001 "EnableCommenting"=dword:00000001 "ShowCompletion"=dword:00000001 [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Packages] [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Packages\{1b05e2b4-7c21-4f63-910e-29fe55eb5f8b}] "ID"=dword:00000001 "MinEdition"="standard" "ProductVersion"="1.0" "ProductName"="Visual Studio Integration of IronPython Language Service" "CompanyName"="Microsoft Corporation" [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Services] [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Services\{923b4811-26e4-4347-ac8a-244762798e1c}] @="{1b05e2b4-7c21-4f63-910e-29fe55eb5f8b}" "Name"="IPythonLibraryManager" [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Services] [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Services\{ae8ce01a-b3ff-4c19-8c80-54669c197f2c}] @="{1b05e2b4-7c21-4f63-910e-29fe55eb5f8b}" "Name"="Python"
Vytvoření sady nástrojů XML instalační služby systému Windows
Spusťte RegPkg s přepínačem /wixfile . Zadejte všechny další přepínače, název výstupního souboru a cestu balíčku VSPackage.
Například na příkazovém řádku byste zadali něco podobného:
<Visual Studio SDK installation path>\VisualStudioIntegration\Tools\Bin\RegPkg /codebase /wixfile:IronPython.LanguageService.wxi ..\bin\Release\IronPython.LanguageService.dll
Zobrazení sady nástrojů XML instalační služby systému Windows
Otevřete sadu nástrojů XML instalační služby systému Windows v libovolném textovém editoru.
Následující příklad je soubor include, který RegPkg vytvoří pro službu ironPython language service:
<Include> <Registry Root="HKLM" Key="Software\Microsoft\VisualStudio\8.0\Languages\IntellisenseProviders\IronPythonCodeProvider"> <Registry Name="GUID" Value="{9c1807ea-d222-4775-afa8-c092c580e451}" Type="string" /> <Registry Name="AddItemLanguageName" Value="Iron Python" Type="string" /> <Registry Name="DefaultExtension" Value=".py" Type="string" /> <Registry Name="ShortLanguageName" Value="IronPython;Python" Type="string" /> <Registry Name="TemplateFolderName" Value="IronPython" Type="string" /> </Registry> <Registry Root="HKLM" Key="Software\Microsoft\VisualStudio\8.0\Languages\CodeExpansions\Python" Value="{ae8ce01a-b3ff-4c19-8c80-54669c197f2c}" Type="string"> <Registry Name="DisplayName" Value="131" Type="string" /> <Registry Name="IndexPath" Value="C:\\VSSDK80\\2006.08\\VisualStudioIntegration\\Samples\\IronPythonIntegration\\Setup\\[$ComponentPath]\\CodeSnippets\\SnippetsIndex.xml" Type="string" /> <Registry Name="LangStringId" Value="python" Type="string" /> <Registry Name="Package" Value="{1b05e2b4-7c21-4f63-910e-29fe55eb5f8b}" Type="string" /> <Registry Name="ShowRoots" Value="0" Type="integer" /> </Registry> <Registry Root="HKLM" Key="Software\Microsoft\VisualStudio\8.0\Languages\CodeExpansions\Python\ForceCreateDirs"> <Registry Name="Python" Value="C:\\VSSDK80\\2006.08\\VisualStudioIntegration\\Samples\\IronPythonIntegration\\Setup\\[$ComponentPath]\\CodeSnippets\\Snippets\\;%MyDocs%\Code Snippets\Python\My Code Snippets\" Type="string" /> </Registry> <Registry Root="HKLM" Key="Software\Microsoft\VisualStudio\8.0\Languages\CodeExpansions\Python\Paths"> <Registry Name="Python" Value="C:\\VSSDK80\\2006.08\\VisualStudioIntegration\\Samples\\IronPythonIntegration\\Setup\\[$ComponentPath]\\CodeSnippets\\Snippets\\;%MyDocs%\Code Snippets\Python\My Code Snippets\" Type="string" /> </Registry> <Registry Root="HKLM" Key="Software\Microsoft\VisualStudio\8.0\Languages\File Extensions\.py" Value="{ae8ce01a-b3ff-4c19-8c80-54669c197f2c}" Type="string" /> <Registry Root="HKLM" Key="Software\Microsoft\VisualStudio\8.0\Languages\Language Services\Python" Value="{ae8ce01a-b3ff-4c19-8c80-54669c197f2c}" Type="string"> <Registry Name="Package" Value="{1b05e2b4-7c21-4f63-910e-29fe55eb5f8b}" Type="string" /> <Registry Name="LangResID" Value="100" Type="integer" /> <Registry Name="ShowCompletion" Value="1" Type="integer" /> <Registry Name="ShowMatchingBrace" Value="1" Type="integer" /> <Registry Name="CodeSense" Value="1" Type="integer" /> <Registry Name="MatchBraces" Value="1" Type="integer" /> <Registry Name="EnableCommenting" Value="1" Type="integer" /> <Registry Name="DefaultToInsertSpaces" Value="1" Type="integer" /> </Registry> <Registry Root="HKLM" Key="Software\Microsoft\VisualStudio\8.0\Packages\{1b05e2b4-7c21-4f63-910e-29fe55eb5f8b}" Value="Microsoft.Samples.VisualStudio.IronPythonLanguageService.PythonPackage, IronPython.LanguageService, Version=1.0.2394.27719, Culture=neutral, PublicKeyToken=null" Type="string"> <Registry Name="InprocServer32" Value="[SystemFolder]mscoree.dll" Type="string" /> <Registry Name="Class" Value="Microsoft.Samples.VisualStudio.IronPythonLanguageService.PythonPackage" Type="string" /> <Registry Name="CodeBase" Value="[#File_IronPython.LanguageService.dll]" Type="string" /> <Registry Name="ID" Value="1" Type="integer" /> <Registry Name="MinEdition" Value="standard" Type="string" /> <Registry Name="ProductVersion" Value="1.0" Type="string" /> <Registry Name="ProductName" Value="Visual Studio Integration of IronPython Language Service" Type="string" /> <Registry Name="CompanyName" Value="Microsoft Corporation" Type="string" /> </Registry> <Registry Root="HKLM" Key="Software\Microsoft\VisualStudio\8.0\CLSID\{9c1807ea-d222-4775-afa8-c092c580e451}" Value="Microsoft.Samples.VisualStudio.IronPythonLanguageService.PythonIntellisenseProvider" Type="string"> <Registry Name="InprocServer32" Value="[SystemFolder]mscoree.dll" Type="string" /> <Registry Name="Class" Value="Microsoft.Samples.VisualStudio.IronPythonLanguageService.PythonIntellisenseProvider" Type="string" /> <Registry Name="CodeBase" Value="[#File_IronPython.LanguageService.dll]" Type="string" /> <Registry Name="ThreadingModel" Value="Both" Type="string" /> </Registry> <Registry Root="HKLM" Key="Software\Microsoft\VisualStudio\8.0\Services\{923b4811-26e4-4347-ac8a-244762798e1c}" Value="{1b05e2b4-7c21-4f63-910e-29fe55eb5f8b}" Type="string"> <Registry Name="Name" Value="IPythonLibraryManager" Type="string" /> </Registry> <Registry Root="HKLM" Key="Software\Microsoft\VisualStudio\8.0\Services\{ae8ce01a-b3ff-4c19-8c80-54669c197f2c}" Value="{1b05e2b4-7c21-4f63-910e-29fe55eb5f8b}" Type="string"> <Registry Name="Name" Value="Python" Type="string" /> </Registry> </Include>