WindowsXP-SP1/admin/pchealth/redist/how_to_add_a_new_sku_to_the_system.rtf
2020-09-30 16:53:49 +02:00

131 lines
5.9 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
{\colortbl ;\red255\green0\blue0;\red128\green0\blue128;\red0\green128\blue128;}
\viewkind4\uc1\pard\lang1033\b\f0\fs32\par
To introduce a new SKU to the system, you need to follow these steps:\b0\fs40\par
\fs20\par
\par
1) Select a new unique identifier for the SKU, like \cf1 WebServer_32\cf0 or \cf1 Personal_64\cf0 , and a unique file name, like \cf1 pchdt_t3.cab\cf0 .\par
\par
2) Edit the file \cf2 $/admin/pchealth/redist/SKUlist.txt\cf0 , where you have to insert a new record, to describe the changes.\par
The record must be in the form "<SKU> <Cabinet> <ProdFilt> <Desktop flag> <Server flag> <Embedded flag>":\par
\par
\cf1 WebServer_32 \cf0 pchdt_\cf1 t3\cf0 .cab\tab\cf1 @t:@3:\cf0 \cf1 false true \cf0 false\par
\par
Remember that the cabinet name is the new file that will be added to the build,\par
the prodfilt is used during build to convert the .INX to an .INF and\par
the boolean flags determine the type of the SKU (DESKTOP or SERVER).\par
\par
3) Create a new HHT package for the SKU database. This package will live under a sub-directory of\par
\par
\cf2 $/admin/pchealth/HelpCtr/Content/database/\par
\cf0\par
The directory is normally named after the SKU id:\par
\par
\cf2 $/admin/pchealth/HelpCtr/Content/database/\cf1 WebServer_32\par
\cf0\par
The HHT package (normally called 'hcdata.cab') must be compliant with the HCUpdate specifications, see these XML schemas:\cf2\par
\par
$/admin/pchealth/HelpCtr/Content/XML_Schema/Package_Description.dtd\par
$/admin/pchealth/HelpCtr/Content/XML_Schema/HHT.dtd\cf0\par
\par
In the required 'package_description.xml' file, update the \cf3 PRODUCT[@ID]\cf0 , \cf3 SKU[@VALUE] \cf0 and \cf3 SKU[@DISPLAYNAME] \cf0 and make sure the HHT file list is correct:\par
\par
\tab <?xml version="1.0" ?>\par
\tab <HELPCENTERPACKAGE>\par
\tab\tab <VERSION VALUE="1.0" />\par
\tab\tab\cf1 <PRODUCT ID="Whistler_WB" />\par
\tab\tab <SKU VALUE='WebServer_32' DISPLAYNAME='Whistler Web Server'/>\par
\cf0\tab\tab <LANGUAGE VALUE='1033'/>\par
\cf1\tab\tab <METADATA>\par
\tab\tab\tab <HHT FILE="WebServer_32.hht" />\par
\tab\tab\tab <HHT FILE="ToolsCtr.hht" />\par
\tab\tab </METADATA>\cf0\par
\tab </HELPCENTERPACKAGE>\par
\par
4) Edit the file \cf2 $/admin/pchealth/setup/lst/helpctr.lst \cf0 to insert a new record for the SKU:\par
\par
\tab CompHC_db HCdata.cab HCdata.edb HCdat_\cf1 t3\cf0 .edb Database HHT \cf1 WebServer_32 \cf0 $HC_DB/\cf1 WebServer_32\cf0\par
\par
5) Go to \cf2 $/admin/pchealth/setup \cf0 and execute the command:\par
\par
\tab createsetup all\par
\par
The command will update three files:\par
\par
\cf2\tab $/admin/pchealth/redist/SetupImage.lst\par
\tab $/MergedComponents/SetupInfs/PCHealth.inx\par
\tab $/MergedComponents/SetupInfs/usa/PCHealth.txt\cf0\par
\par
6) Edit the file \cf2 $/MergedComponents/SetupInfs/layout.inx\cf0 , to make sure that the new pchdt_*.cab is included in the build.\par
You should use the same prodfilt flags as in pchealth.inx:\par
\par
\cf1 @t:@3\cf0 :pchdt_\cf1 t3\cf0 .cab\par
\par
7) Edit the file \cf2 $/MergedComponents/SetupInfs/pchmui.inx\cf0 and apply similar changes:\par
\par
\tab [SourceDisksFiles]\par
\tab ...\par
\tab\cf1 @t:@3:\cf0 pchdt_\cf1 t3\cf0 .cab=55\par
\tab ...\par
\par
\tab [DB.files.install]\par
\tab ...\par
\tab\cf1 @t:@3:\cf0 pchdt_\cf1 t3\cf0 .cab,pchdt_\cf1 t3\cf0 .cab.mu_\par
\tab ...\par
\par
\tab [RunPostSetupCommandsSection] \par
\tab ...\par
\tab\cf1 @t:@3:\cf0 "%10%\\PCHealth\\HelpCtr\\Binaries\\HelpSvc /MUI_install %LCID% %10%\\PCHealth\\MUI\\%LCID%\\pchdt_\cf1 t3\cf0 .cab"\par
\tab ...\par
\par
8) Edit the file \cf2 $/admin/pchealth/build/placefile\cf0 , to binplace the new file:\par
\par
pchdt_\cf1 t3\cf0 .cab retail ; --NOT-LOCALIZED--\par
\par
9) Go to \cf2 $/admin/pchealth/redist \cf0 and create a new sub-directory "sku_<new ID>", using the others as a template (three files).\par
The file "makefile.inc" needs to be updated to use the new ID:\par
\par
\tab HssSetupTool.exe -root $(_NTPOSTBLD)\\build_logs -log hss_\cf1 wb\cf0 .log -dblog createdb_\cf1 wb\cf0 .log COMPILE $(_NTTREE) \cf1 WebServer_32\par
\cf0\par
The file "sources" needs to be updated to binplace the proper cabinet:\par
\par
MISCFILES = \\\par
!if $(386)\par
$(O)\\pchdt_\cf1 t3\cf0 .cab\par
!elseif $(WIN64)\par
!endif\par
\par
10) Edit \cf2 $/admin/pchealth/redist/dirs\cf0 , to build the new directory.\par
\par
11) Finally edit the postbuild script: \cf2 $/tools/postbuildscripts/helpsupportservices.cmd\par
\par
\cf0\tab if ( $platform =~ /x86/i )\par
\tab\{\par
\tab &ConditionalCompileSKU( "per", "Personal_32" , "pchdt_p3.cab" ) or exit( 1 );\par
\tab &ConditionalCompileSKU( "pro", "Professional_32" , "pchdt_w3.cab" ) or exit( 1 );\par
\tab &ConditionalCompileSKU( "bla", "Blade_32" , "pchdt_b3.cab" ) or exit( 1 );\par
\cf1\tab &ConditionalCompileSKU( "wb" , "WebServer_32" , "pchdt_t3.cab" ) or exit( 1 );\cf0\par
\tab &ConditionalCompileSKU( "srv", "Server_32" , "pchdt_s3.cab" ) or exit( 1 );\par
\tab &ConditionalCompileSKU( "ads", "AdvancedServer_32", "pchdt_e3.cab" ) or exit( 1 );\par
\tab &ConditionalCompileSKU( "dtc", "DataCenter_32" , "pchdt_d3.cab" ) or exit( 1 );\par
\tab\}\par
\par
The first parameter should match the one in \cf2 $/tools/prodskus.txt\par
\cf0\par
\par
To test the whole thing:\par
\par
\tab cd %SDXROOT%\\admin\\pchealth\par
\tab scorchtree\par
\tab cd %SDXROOT%\\admin\\pchealth\\helpctr\\rc\\content\par
\tab build /cZP\par
\tab cd %SDXROOT%\\admin\\pchealth\\helpctr\\pss\\content\par
\tab build /cZP\par
\tab cd %SDXROOT%\\admin\\pchealth\\redist\par
\tab build /cZP\par
\par
The logs will be created under \cf2 %_NTPOSTBLD%\\build_logs\cf0\par
\par
\par
}