Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Customizing the First
Experience and
Windows Vista™Extensibility
Mikael Nyström – TrueSec
MVP Windows Server – Setup/Deployment
Agenda
Opportunities for Extensibility
First Experience: Windows Welcome
First Experience: Welcome Center
What is not discussed in this session:
Media Center
Help
Windows Recovery Environment (Windows RE)
Extensibility that requires app development
All details are in the OPK User’s Guide
New Improved
Monetization Differentiation Cost Reduction
Performance Control Panel
Help & Support
Welcome Center
Windows Mobility Center
Windows Anytime Upgrade
Security (Credential Providers)
Windows Recovery Environment
Windows Sideshow
Internet Explorer
Media Center
Key Extensibility Opportunities…
Windows Welcome
Get Connected Wizard
- Wireless Properties
Power Management
Windows Sidebar
Sync Center
Windows Media Player
Windows Photo Gallery
Online Photo Printing
Get Connected Wizard
- Narrowband Dialup
Third-Party Application Defaults (defined in OPK)
Extensibility – System Fundamentals
System Control Panel:
(All in Microsoft-Windows-Shell-Setup | OEMInformation)
Mandatory Information:
Manufacturer Name
Optional Information:
Manufacturer Logo
Support URL*
Mandatory for single-language, single-location:
SupportPhone*
SupportHours*
HelpCustomized*
For multi-language or multi-location releases, help content must be modified. (See Help and Support Lab)
* Unattend.xml information coming soon
Extensibility – System Fundamentals
Performance Control Panel:
Proseware, Inc
* Unattend.xml information coming soon
Extensibility – Internet
Internet Explorer:
Home Page:
Microsoft-Windows Internet Explorer | Home_Page
Online Support link:Microsoft-Windows Internet Explorer | Help_Page
Favorites:
Microsoft-Windows Internet Explorer | FavoritesList
Microsoft-Windows Internet Explorer | FavoritesList | FavoriteItem
FavIconFile Specifies the icon to associate with the shortcut in the Favorites folder.
FavID Specifies a unique key to associate with a FavoriteItem.
FavOffline Specifies whether to make the shortcut link available for offline browsing.
FavTitle Specifies a friendly name for the site appearing as a shortcut in the Favorites folder. Must include folder name.
FavURL Specifies a fully qualified path to the URL of each shortcut.
Mandatory – Create one folder, using <folder_name>\ in FavTitle
Extensibility – Internet
Internet Explorer:
FeedsCan add a folder with RSS feeds
Tabs:Can add extra tabs by default (recommended < 3)
Search:Replace the default search provider
Add more search providers
Replace the Windows Search Guide
ToolbarAdd a toolbar (also known as a Browser Helper Object)
* For Beta 2, use IEAK for these settings; Unattend.xml information coming soon
Extensibility – Internet
Windows Media Player:
Online Store:
Install ServiceInfo.xml (obtain from online store provider)
Use Windows Media configuration utility (setup_wm.exe) to set the following values:
DefaultService
ServiceInfo
ServiceExtra
Custom Skin:Use Windows Media 11 SDK to create the skin
Copy skin to %systemdrive%\Program Files\Windows Media Player\Skins folder
Default DVD Player:In HKEY_CLASSES_ROOT\DVD\Shell\Play\Command
Change “default” value to "%systemdrive%\Program Files\Windows Media Player\wmplayer.exe" /device:DVD "%L"
Extensibility – Internet
ISP Sign-up:
Uses OOBE.XML
Offers are identical to “list”-type Windows Welcome offers
Use ShowIn value to specify where the offer is displayed:
OOBE – offer is visible only in Windows Welcome
GCW – offer is visible only in the Internet Sign-up wizard
Both – offer is visible in both Windows Welcome and the Internet Sign-up wizard
*For Beta 2, this feature is implemented in GCW.XML (not discussed in detail in this presentation)
Extensibility – Internet
Online Print Wizard:
Set a service provider as default:
Microsoft-Windows-shwebsvc| ID
Name of the provider (not displayed)
Microsoft-Windows-shwebsvc| DisplayName
Name of the provider (displayed)
Microsoft-Windows-shwebsvc| Description
Description of provider (80 chars)
Microsoft-Windows-shwebsvc| href
URL to provider’s site
Microsoft-Windows-shwebsvc| Icon
Path and filename of icon for the provider
Extensibility – Applications
Start Menu:
Add items to the Start Menu:
Microsoft-Windows-Shell-Setup | StartPanelLinks | MFULink0
Microsoft-Windows-Shell-Setup | StartPanelLinks | MFULink1
Microsoft-Windows-Shell-Setup | StartPanelLinks | MFULink2
Microsoft-Windows-Shell-Setup | StartPanelLinks | MFULink3
Each setting contains the full path to a .LNK file
Extensibility – Applications
CD Autoplay:
Application has to register as a handler for a file type
Three installable handlers per media type
Extensibility – Applications
Sidebar:
Add gadgets to the gallery
Show two gadgets on the sidebar
Resources available to help you build gadgets
Gadget deployment information is coming soon
Extensibility – Mobile Computers
Mobility Center:
OEM
OEM PC
Checkup
* For more information, see Mobility Center SDK in the OPK
* Unattended deployment information is coming soon
Extensibility – Mobile Computers
Power options:
Customize power plans
Use Device Power Policy Engine to create plans
Add links
Unattend.xml information coming soon
Add images for power buttons and activities
Additional Resources
OPK User’s Guide
“Summary of Allowable Customizations” topic
Gadgets: http://microsoftgadgets.com/Build
Application Extensibility: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_extending/autoplay/autoplay2k_using.asp
Mobility SDK in OPK User’s Guide
For multi-language or multi-location releases see Help and Support Customization lab and the Help and Support SDK (on the OPK Fest event CD)
First Experience – Windows Welcome
First Experience – Windows Welcome
You can:
Set default values
Language
Location
Locale
Keyboard layout
Time Zone
Add your end-user license agreement (EULA)
Add logo and name branding
Add desktop backgrounds
Add offer advertising
First Experience – Windows Welcome
The OOBE.XML file contains custom content for Windows Welcome, Welcome Center, and Internet Sign-up
Simple .xml file
Can be edited using any text or XML editor
Separate OOBE.XML files used for country- and language-specific content
First Experience – Windows Welcome
Collateral needed:
Manufacturer name
Logo file (240x100, 32-bit PNG)
Three desktop backgrounds (1600x1200, 24-bit JPG)
Default values:Location (GEOID)
Locale (LCID)
Keyboard Layout
Time Zone
Offer collateral- for each offer:Title (64 characters)
Descriptive text (128 characters)
Image (32x32, 32-bit PNG)
Details file (RTF file)
Command line to execute (if necessary)
First Experience – Windows Welcome
Folder structure:
Default OOBE.XML:
Country-specific OOBE.XML:
Country and language-specific OOBE.XML:
Country: GEOID, decimal format (example: 39)
Language: LCID, decimal format (example: 1033)
\windows\system32\oobe\info\oobe.xml
\windows\system32\oobe\info\<country>\oobe.xml
\windows\system32\oobe\info\<country>\<lang>\oobe.xml
First Experience – Windows Welcome
Questions to ask before beginning:
“Am I shipping to multiple countries?”
If Yes: multiple oobe.xml files are likely
“Am I deploying multiple languages?”
If Yes: multiple oobe.xml files are very likely
“What should I promote in Windows Welcome?”
If one type of offer (such as ISP) with multiple providers, consider the “list” type of offer
If just communicating information, consider the “billboard” type of offer
First Experience – Windows Welcome
First Experience – Windows Welcome
Language:Default is the language used to run Setup
Location: <location>244</location>GEOID value, in decimal
Reference: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_locations.asp
Locale: <locale>1033</locale>LCID value, in decimal
Reference: http://www.microsoft.com/globaldev/reference/lcid-all.mspx
Keyboard: <keyboard>00000409</keyboard>Input Locale Identifier format
Reference: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts
Logo: <logopath>c:\logo\fabrikam.png</logopath>Full path to the logo file on the hard disk
First Experience – Windows Welcome
First Experience – Windows Welcome
License Terms:
<eulafilename>fabrikam_eula.rtf</eulafilename>
Windows Welcome searches for your end-user license agreement based on location/language choice
If not found for a specific country, Windows Welcome uses the one in the \info folder
Note: We will be adding a \default folder with <language> subfolders to accommodate localized license agreements in the fallback case
First Experience – Windows Welcome
First Experience – Windows Welcome
Desktop backgrounds:
<wallpaper>
<path>c:\Fabrikam\picture1.bmp</path>
</wallpaper>
<wallpaper>
<path>c:\Fabrikam\picture2.bmp</path>
</wallpaper>
<wallpaper>
<path>c:\Fabrikam\picture3.bmp</path>
</wallpaper>
Backgrounds displayed left to right, in order they appear in XML.
If user clicks Next without choosing a specific background, the first custom desktop background is selected by default. (not yet implemented)
First Experience – Windows Welcome
First Experience – Windows Welcome
Two offer presentation formats:
“Billboard”
Two non-actionable regions to display information
Use to communicate information, show varying types of offers
“List”
Many items in a list
User can select one, it runs upon reaching the desktop
Use for similar offers (for example: multiple ISP providers)
XML is shared with Internet Access Sign-up wizard
First Experience – Windows Welcome
Offer header:
<offerheader>special offers from Fabrikam</offerheader>
40 characters
Offer node:
<offer type="billboard">
Or
<offer type=“list">
One node for each offer
Determines the type of offer displayed
Types cannot be mixed
First Experience – Windows Welcome
Title:
<title>2 months free access!</title>
64 characters
Image:
<imagepath>c:\fabrikam\isp_logo.png</imagepath>
32x32 PNG file
First Experience – Windows Welcome
Description:
<details>Sign up today!</details>
128 characters
Details file: (list type only)
<detailsfilename>c:\fabrikam\info.rtf</detailsfilename>
Points to an optional details file
File must be rich-text format
Displayed in a custom viewer
First Experience – Windows Welcome
Program to run: (list type only)
<shellexecute>c:\isp\start.exe</shellexecute>
Full path and filename of program to launch
First Experience – Windows Welcome
Testing Windows Welcome
Sysprep /oobe
\windows\system32\oobe\msoobe.exe
Additional info:
To reboot into Audit mode, press CTRL-SHIFT-F3 on the first page of Windows Welcome
Welcome Center
First Experience – Welcome Center
You can:
Add “tasks”. A task:
Is a shortcut to an application, web site, help content, etc.
Can show a rich preview pane with additional information
Add text to the header for your tasks
For example: “Special offers from Fabrikam”
“Computer Details” preview pane shows logo, manufacturer
First Experience – Welcome Center
Use OOBE.xml for all custom content
Task collateral can be per-country/region
Task collateral can be localized
Welcome Center looks for content in the same manner as Windows Welcome:
Default OOBE.XML:
Country-specific OOBE.XML:
Country and language-specific OOBE.XML:
\windows\system32\oobe\info\oobe.xml
\windows\system32\oobe\info\<country>\oobe.xml
\windows\system32\oobe\info\<country>\<lang>\oobe.xml
First Experience – Welcome Center
Collateral needed:
Header text
For each task:
Identifier (GUID)
Name
Icon
Description
Command
Infotip
Search keywords
Preview pane background
Preview pane image
Preview pane text (in columns, with formatting)
Conditions for filtering tasks
First Experience – Welcome Center
Questions to ask before beginning:
“Do my tasks need to be location-specific?”
If Yes, then multiple OOBE.XML files are needed
“For each task, do I want to specify conditions to filter the task in/out?”
For each important scenario, determine whether tasks are seen and the priority of the task
First Experience – Welcome Center
Offer header:<offerSource>Offers From Fabrikam</offerSource>
Contains the text used as the header for your tasks
Task:<task id="{7D8650FD-8935-4657-A3E3-
C6AD82DCFEB8}"
xmlns="http://schemas.microsoft.com/windows/tas
ks/v1">
ID attribute needs to be set to a GUID (unique per task)
Reference: http://msdn2.microsoft.com/en-us/library/ms241442.aspx
Do not modify the xmlns attribute
First Experience – Welcome Center
Task name:
<name>Get 6 months of Internet access free</name>
Name of the task; appears in the title section of the preview pane, and in the list view
Task icon:
<icon>%systemroot%\system32\oobe\phone.ico</icon>
Can be:
Icon associated with the executable specified in Command
An icon contained within a dll (for example: “Shell32.dll,233”)
A .ico file
Task description:
<description>Unlimited dial-up</description>
Second line of text in the task list view
Command:
<command>http://www.thephonecompany.com</command>
Command-line that is run when double-clicking the task or clicking the link in the preview pane
First Experience – Welcome Center
Sort order (optional)
<sortPriority>1</sortPriority>
Specifies the order of appearance in the Welcome Center
Infotip (optional)
<infotip>Sign up now!</infotip>
Tooltip that appears when hovering over a task
Search keywords (optional)
<keywords>Internet;Telephone</keywords>
Terms to aid in searching within the Welcome Center
First Experience – Welcome Center
Preview Pane background:<previewBackground>c:\fabrikam\bg1.png</previewBackground>
800x178 PNG file; picture will stretch based on window size
Preview Pane picture:<previewPicture>c:\fabrikam\pic1.png</previewPicture>
128x128 PNG file
If omitted, task list icon is used
Preview pane title:<title>Get six months of free Internet service</title>
Action link text:<startText>Sign up now!</startText>
Maximum length: 255 characters
First Experience – Welcome Center
Preview Pane columns:
<columnOne> and <columnTwo>
Can use either one or two columns
Additional text formatting:
Paragraph:
<para>
Bullets:
<bullet>
Text:
<text>
Example:
<columnOne>
<para><bullet /><text>Sample bulleted text></text></para>
<para><text>Sample unbulleted text></text></para>
</columnOne>
First Experience – Welcome Center
Conditions:
Used to filter tasks in or out
Cumulative – Welcome Center uses the sum of the conditions
Can be inverted using invert=“true” attribute
Example: to display a task in all SKUs but Windows Vista Ultimate, use the following:
<condition name=“shcond://v1#SkuEquals” invert=“true”>
<param name=“Sku” value=“Ultimate”
</condition>
First Experience – Welcome Center
Condition Parameters Values Description
RegvalEquals 1. Regkey
2. Regval
3. RegvalExpected
1. Registry key path
2. Registry value name
3. Expected value
Registry value is the expected value
RegvalExists 1. Regkey
2. Regval
1. Registry key path
2. Regkstry value name
Registry value exists
RegkeyExists 1. Regkey 1. Regkstry key path Registry key exists
IsMachineOnDomain None None Computer is part of a domain
IsUserAdmin None None User is an administrator
IsAuxDisplayConnected None None Auxiliary display (sideshow) is connected
First Experience – Welcome Center
Condition Parameters Values Description
IsMobilePC None None Computer is a mobile PC
IsOfflineFilesEnabled None None Offline Files has been enabled
SkuEquals 1. Sku 1. Sku Name (see docs for values)
Windows SKU
IsTabletPC None None Computer is a tablet PC
IsTouchAvailable None None Computer has a touch digitizer
DateInRange 1. Before
2. After
1. Date and time
2. Date
Set up a date range (use invariant local date format – 1/1/1977 5:00 AM)
Welcome Center with offers
With offer selected