<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Installer Team Blog : PDC2005</title><link>http://blogs.msdn.com/windows_installer_team/archive/tags/PDC2005/default.aspx</link><description>Tags: PDC2005</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Authoring to Windows Installer 4.0 Features mentioned at PDC 2005</title><link>http://blogs.msdn.com/windows_installer_team/archive/2005/11/03/488945.aspx</link><pubDate>Fri, 04 Nov 2005 08:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:488945</guid><dc:creator>Windows Installer Team</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/windows_installer_team/comments/488945.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windows_installer_team/commentrss.aspx?PostID=488945</wfw:commentRss><description>As Tyler &lt;A href=""&gt;recently mentioned&lt;/A&gt;, you can find the Professional Developers Conference 2005 &lt;A href="http://microsoft.sitestream.com/PDC05/FUN/FUN222_files/Default.htm"&gt;session&lt;/A&gt; and &lt;A href="http://microsoft.sitestream.com/PDC05/FUN/FUN222_files/Botto_files/FUN222_Robinson.ppt"&gt;presentation&lt;/A&gt; of the Windows Installer 4.0. Here's a preliminary view of how to author to these features. &lt;I&gt;Note: This documentation is preliminary and is subject to change.&lt;/I&gt; 
&lt;H4&gt;Restart Manager Support&lt;/H4&gt;
&lt;P&gt;As Tyler presented in the slide titled "Windows Installer 4.0: Fewer Reboots", Restart Manager support in MSI just requires MsiRMFilesInUse be present in the package when installing on Windows Vista. This dialog looks a lot like the FilesInUse dialog with a couple of radio buttons added under the list box to represent the new Restart Manager Option along with the fallback option to the old behavior.&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/control_table.asp"&gt;Control Table&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;
&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH&gt;Dialog_&lt;/TH&gt;
&lt;TH&gt;Control&lt;/TH&gt;
&lt;TH&gt;Type&lt;/TH&gt;
&lt;TH&gt;X&lt;/TH&gt;
&lt;TH&gt;Y&lt;/TH&gt;
&lt;TH&gt;Width&lt;/TH&gt;
&lt;TH&gt;Height&lt;/TH&gt;
&lt;TH&gt;Attributes&lt;/TH&gt;
&lt;TH&gt;Property&lt;/TH&gt;
&lt;TH&gt;Text&lt;/TH&gt;
&lt;TH&gt;Control_Next&lt;/TH&gt;
&lt;TH&gt;Help&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;DlgLine&lt;/TD&gt;
&lt;TD&gt;Line&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;234&lt;/TD&gt;
&lt;TD&gt;294&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;Banner&lt;/TD&gt;
&lt;TD&gt;Bitmap&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;374&lt;/TD&gt;
&lt;TD&gt;44&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;NewBinary1&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;DlgDesc&lt;/TD&gt;
&lt;TD&gt;Text&lt;/TD&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;TD&gt;23&lt;/TD&gt;
&lt;TD&gt;292&lt;/TD&gt;
&lt;TD&gt;25&lt;/TD&gt;
&lt;TD&gt;65539&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;Some files that need to be updated are currently in use.&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;DlgTitle&lt;/TD&gt;
&lt;TD&gt;Text&lt;/TD&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;292&lt;/TD&gt;
&lt;TD&gt;25&lt;/TD&gt;
&lt;TD&gt;65539&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;{&amp;amp;MSSansBold8}Files in Use&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;DlgText&lt;/TD&gt;
&lt;TD&gt;Text&lt;/TD&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;TD&gt;49&lt;/TD&gt;
&lt;TD&gt;348&lt;/TD&gt;
&lt;TD&gt;17&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;The following applications are using files that need to be updated by this setup.&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;BannerLine&lt;/TD&gt;
&lt;TD&gt;Line&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;44&lt;/TD&gt;
&lt;TD&gt;374&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;RadioButtonGroup1&lt;/TD&gt;
&lt;TD&gt;RadioButtonGroup&lt;/TD&gt;
&lt;TD&gt;19&lt;/TD&gt;
&lt;TD&gt;187&lt;/TD&gt;
&lt;TD&gt;343&lt;/TD&gt;
&lt;TD&gt;40&lt;/TD&gt;
&lt;TD&gt;16777219&lt;/TD&gt;
&lt;TD&gt;ShutdownOption&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;List&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;List&lt;/TD&gt;
&lt;TD&gt;ListBox&lt;/TD&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;TD&gt;66&lt;/TD&gt;
&lt;TD&gt;331&lt;/TD&gt;
&lt;TD&gt;118&lt;/TD&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;FileInUseProcess&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;OK&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;OK&lt;/TD&gt;
&lt;TD&gt;PushButton&lt;/TD&gt;
&lt;TD&gt;228&lt;/TD&gt;
&lt;TD&gt;244&lt;/TD&gt;
&lt;TD&gt;66&lt;/TD&gt;
&lt;TD&gt;17&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;OK&lt;/TD&gt;
&lt;TD&gt;Cancel&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;Cancel&lt;/TD&gt;
&lt;TD&gt;PushButton&lt;/TD&gt;
&lt;TD&gt;299&lt;/TD&gt;
&lt;TD&gt;244&lt;/TD&gt;
&lt;TD&gt;66&lt;/TD&gt;
&lt;TD&gt;17&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;Cancel&lt;/TD&gt;
&lt;TD&gt;RadioButtonGroup1&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/controlevent_table.asp"&gt;ControlEvent Table&lt;/A&gt; 
&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH&gt;Dialog_&lt;/TH&gt;
&lt;TH&gt;Control_&lt;/TH&gt;
&lt;TH&gt;Event&lt;/TH&gt;
&lt;TH&gt;Argument&lt;/TH&gt;
&lt;TH&gt;Condition&lt;/TH&gt;
&lt;TH&gt;Ordering&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;OK&lt;/TD&gt;
&lt;TD&gt;EndDialog&lt;/TD&gt;
&lt;TD&gt;Return&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;OK&lt;/TD&gt;
&lt;TD&gt;RMShutdownAndRestart&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;ShutdownOption="ShutdownOption1"&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;Cancel&lt;/TD&gt;
&lt;TD&gt;EndDialog&lt;/TD&gt;
&lt;TD&gt;Exit&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/dialog_table.asp"&gt;Dialog Table&lt;/A&gt; 
&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH&gt;Dialog&lt;/TH&gt;
&lt;TH&gt;HCentering&lt;/TH&gt;
&lt;TH&gt;VCentering&lt;/TH&gt;
&lt;TH&gt;Width&lt;/TH&gt;
&lt;TH&gt;Height&lt;/TH&gt;
&lt;TH&gt;Attributes&lt;/TH&gt;
&lt;TH&gt;Title&lt;/TH&gt;
&lt;TH&gt;Control_First&lt;/TH&gt;
&lt;TH&gt;Control_Default&lt;/TH&gt;
&lt;TH&gt;Control_Cancel&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;MsiRMFilesInUse&lt;/TD&gt;
&lt;TD&gt;50&lt;/TD&gt;
&lt;TD&gt;50&lt;/TD&gt;
&lt;TD&gt;374&lt;/TD&gt;
&lt;TD&gt;266&lt;/TD&gt;
&lt;TD&gt;19&lt;/TD&gt;
&lt;TD&gt;[ProductName]&lt;/TD&gt;
&lt;TD&gt;OK&lt;/TD&gt;
&lt;TD&gt;OK&lt;/TD&gt;
&lt;TD&gt;Cancel&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/property_table.asp"&gt;Property Table&lt;/A&gt; 
&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH&gt;Property&lt;/TH&gt;
&lt;TH&gt;Value&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ShutdownOption&lt;/TD&gt;
&lt;TD&gt;ShutdownOption1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/radiobutton_table.asp"&gt;RadioButton Table&lt;/A&gt; 
&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH&gt;Property&lt;/TH&gt;
&lt;TH&gt;Order&lt;/TH&gt;
&lt;TH&gt;Value&lt;/TH&gt;
&lt;TH&gt;x&lt;/TH&gt;
&lt;TH&gt;Y&lt;/TH&gt;
&lt;TH&gt;Width&lt;/TH&gt;
&lt;TH&gt;Height&lt;/TH&gt;
&lt;TH&gt;Text&lt;/TH&gt;
&lt;TH&gt;Help&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ShutdownOption&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;TD&gt;331&lt;/TD&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;Automatically close all applications and attempt to restart them after setup is complete.&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ShutdownOption&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;TD&gt;322&lt;/TD&gt;
&lt;TD&gt;17&lt;/TD&gt;
&lt;TD&gt;Do not close applications. (A reboot will be required.)&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;H4&gt;Elevation Privleges Not Required&lt;/H4&gt;
&lt;P&gt;As Tyler presented in the slide titled "What's new in MSI: UAP Elevation and Installs and Patches", you can set the msidbSumInfoSourceTypeLUAPackage bit in the &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/summary_information_stream.asp"&gt;Summary Information Stream&lt;/A&gt; of a MSI and prevent the Windows Installer from invoking the UAP elevation prompt. To do this, one just needs to set the 4th position (0x08) in the &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/word_count_summary.asp"&gt;Word Count property&lt;/A&gt;. You can do this with the Windows Installer SDK tool &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/msiinfo_exe.asp"&gt;msiinfo.exe&lt;/A&gt;. As an example, here's the command and output before setting the bit&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;&lt;FONT face="courier new"&gt;

c:\&amp;gt;msiinfo product.msi

ClassId = {000C1084-0000-0000-C000-000000000046}
[ 1][/c] Codepage = 1252
[ 2][/t] Title = Installation Database
[ 3][/j] Subject = Testing
[ 4][/a] Author = Microsoft Corp.
[ 5][/k] Keywords = Installer,MSI,Database
[ 6][/o] Comments = Contact:  Your local administrator
[ 7][/p] Template(MSI CPU,LangIDs) = Intel;1033
[ 9][/v] Revision = {62B8B42B-9D2E-49C2-A791-C90F212940B8}
[12][/r] Created = 2005/10/25 23:00:48
[13][/q] LastSaved = 2005/10/25 23:00:48
[14][/g] Pages(MSI Version Used) = 200
&lt;FONT color=red size=6&gt;[15][/w] Words(MSI Source Type) = 0&lt;/FONT&gt;
&amp;lt;snip&amp;gt;
&lt;/FONT&gt;
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Then one runs msiinfo with the /W switch to set the Word Count property like so&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;&lt;FONT face="courier new"&gt;
c:\msiinfo product.msi /W 8
&lt;/FONT&gt;
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Then rerun the view to confirm the setting took like so&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;&lt;FONT face="courier new"&gt;

c:\&amp;gt;msiinfo product.msi

ClassId = {000C1084-0000-0000-C000-000000000046}
[ 1][/c] Codepage = 1252
[ 2][/t] Title = Installation Database
[ 3][/j] Subject = Testing
[ 4][/a] Author = Microsoft Corp.
[ 5][/k] Keywords = Installer,MSI,Database
[ 6][/o] Comments = Contact:  Your local administrator
[ 7][/p] Template(MSI CPU,LangIDs) = Intel;1033
[ 9][/v] Revision = {62B8B42B-9D2E-49C2-A791-C90F212940B8}
[12][/r] Created = 2005/10/25 23:00:48
[13][/q] LastSaved = 2005/10/25 23:00:48
[14][/g] Pages(MSI Version Used) = 200
&lt;FONT color=red size=6&gt;[15][/w] Words(MSI Source Type) = 8&lt;/FONT&gt;
&amp;lt;snip&amp;gt;
&lt;/FONT&gt;
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;
&lt;H4&gt;Windows Vista Multilingual User Interface (MUI) Shortcut Support&lt;/H4&gt;
&lt;P&gt;As Tyler presented in the slide titled "What's new in MSI: More...", you can now add Windows Vista Multilingual User Interface (MUI) Shortcut support to your MSI. The way you do this is to add for new columns to the &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/shortcut_table.asp"&gt;Shortcut Table&lt;/A&gt; of your MSI. These are rows DisplayResourceDLL, DisplayResourceId, DescriptionResourceDLL, DescriptionResourceId placed as follows:&lt;/P&gt;
&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH&gt;Column&lt;/TH&gt;
&lt;TH&gt;Type&lt;/TH&gt;
&lt;TH&gt;Key&lt;/TH&gt;
&lt;TH&gt;Nullable&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Shortcut&lt;/TD&gt;
&lt;TD&gt;Identifier&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Directory_&lt;/TD&gt;
&lt;TD&gt;Identifier&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Name&lt;/TD&gt;
&lt;TD&gt;Filename&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Component_&lt;/TD&gt;
&lt;TD&gt;Identifier&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Target&lt;/TD&gt;
&lt;TD&gt;Shortcut&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Arguments&lt;/TD&gt;
&lt;TD&gt;Formatted&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Description&lt;/TD&gt;
&lt;TD&gt;Text&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Hotkey&lt;/TD&gt;
&lt;TD&gt;Integer&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Icon_&lt;/TD&gt;
&lt;TD&gt;Identifier&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;IconIndex&lt;/TD&gt;
&lt;TD&gt;Integer&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ShowCmd&lt;/TD&gt;
&lt;TD&gt;Integer&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;WkDir&lt;/TD&gt;
&lt;TD&gt;Identifier&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;DisplayResourceDLL&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;Formatted&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;Y&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;DisplayResourceId&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;Integer&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;Y&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;DescriptionResourceDLL&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;Formatted&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;Y&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;DescriptionResourceId&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;Integer&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=red size=6&gt;Y&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Both the DisplayResourceDLL and DescriptionResourceDLL values represent fully qualified paths to files on disk that the MUI system will load (per the Windows Vista protocol) to get the localized strings. Both the DisplayResourceDId and DescriptionResourceId represent the resource index of the string of interest. This integer is non-negative and will be negated before the call to the Shell API to reguster the MUI shortcuts.&lt;/P&gt;
&lt;DIV id=CSBloggerSig&gt;
&lt;DIV&gt;&lt;FONT face=Verdana color=#969696 size=1&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#969696 size=1&gt;[Author: &lt;A href="https://blogs.msdn.com/rflaming"&gt;Robert Flaming&lt;/A&gt;]&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size=1&gt;This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/info/cpyright.htm"&gt;&lt;FONT size=1&gt;http://www.microsoft.com/info/cpyright.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt;.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=488945" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/Design+Pointers/default.aspx">Design Pointers</category><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/PDC2005/default.aspx">PDC2005</category></item><item><title>PDC Content Available!</title><link>http://blogs.msdn.com/windows_installer_team/archive/2005/10/26/485430.aspx</link><pubDate>Thu, 27 Oct 2005 04:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:485430</guid><dc:creator>Windows Installer Team</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/windows_installer_team/comments/485430.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windows_installer_team/commentrss.aspx?PostID=485430</wfw:commentRss><description>&lt;P&gt;Hello everyone,&lt;/P&gt;
&lt;P&gt;Just a note that all of the PDC content is now available for download. If you missed the Windows Installer / ClickOnce session at the PDC (FUN222) now is a great opportunity to get caught up! Check out &lt;a href="http://blogs.msdn.com/mswanson/archive/2005/10/24/484434.aspx"&gt;this blog posting&lt;/A&gt; for more information.&lt;/P&gt;
&lt;P&gt;[Author: Tyler Robinson]&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=485430" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/PDC2005/default.aspx">PDC2005</category></item><item><title>Best Practice Guidelines for Building Quality Installs: Part 1, the Basics</title><link>http://blogs.msdn.com/windows_installer_team/archive/2005/09/27/463651.aspx</link><pubDate>Tue, 27 Sep 2005 07:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:463651</guid><dc:creator>Windows Installer Team</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/windows_installer_team/comments/463651.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windows_installer_team/commentrss.aspx?PostID=463651</wfw:commentRss><description>This is the first in a series of &lt;a href="http://blogs.msdn.com/windows_installer_team/archive/category/10860.aspx"&gt;Best Practice Guidelines for Building Quality Installs&lt;A&gt;. Let's start with the basics of &lt;/A&gt;quality &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/windows_installer_start_page.asp"&gt;Windows Installer (MSI)&lt;/A&gt;&amp;nbsp;package. Prior postings the series: &lt;a href="http://blogs.msdn.com/windows_installer_team/archive/2005/11/11/463649.aspx"&gt;Introduction&lt;/A&gt;. 
&lt;H3&gt;Build Components According to Component Rules&lt;/H3&gt;
&lt;P&gt;To ensure that the installation or removal of one program does not harm any other programs on the system and that the &lt;A href="http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windows2000pro/evaluate/featfunc/wispro.asp"&gt;Windows Installer service&lt;/A&gt; correctly removes all resources connected with that program, your application installation package must adhere to the &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/what_happens_if_the_component_rules_are_broken.asp"&gt;component rules&lt;/A&gt;.&lt;/P&gt;
&lt;H3&gt;All Components have a proper ComponentId GUIDs&lt;/H3&gt;
&lt;P&gt;Though the &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/component_table.asp"&gt;Component table&lt;/A&gt;’s ComponentId field is a nullable, the consequences for not providing a ComponentId is that the component is not uninstallable or manageable via the &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/installer_functions.asp"&gt;Windows Installer API&lt;/A&gt;s.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Testability&lt;/I&gt;&lt;/B&gt;: scan &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/component_table.asp"&gt;Component table&lt;/A&gt; and for any row, confirm there is a component GUID in the ComponentID column.&lt;/P&gt;
&lt;H3&gt;All COM Servers must be a KeyPath of a Component&lt;/H3&gt;
&lt;P&gt;Do not include more than one COM server per component (per &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/organizing_applications_into_components.asp"&gt;Organizing Applications into Components&lt;/A&gt;). If a component contains a COM server, this must be the KeyPath for the component.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Testability&lt;/I&gt;&lt;/B&gt;: scan file table and media for com servers. For any com server found, make sure it’s the KeyPath for a component. &lt;/P&gt;
&lt;H3&gt;No more than one target of Start menu or Desktop shortcut&lt;/H3&gt;
&lt;P&gt;Do not specify more than one file per component as a target for the Start menu or a Desktop shortcut (per &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/organizing_applications_into_components.asp"&gt;Organizing Applications into Components&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Testability&lt;/I&gt;&lt;/B&gt;: scan shortcut and directory tables for Start menu or a Desktop shortcut targets. Make sure no component has more than one Start menu or a Desktop shortcut target.&lt;/P&gt;
&lt;H3&gt;Pass MSI Validation Testing&lt;/H3&gt;
&lt;P&gt;Any error from the &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/internal_consistency_evaluators_ices.asp"&gt;Internal Consistency Evaluators&lt;/A&gt; validation suite must be fixed. Warnings represent design guidance to the package author which should be studied for applicability. If warnings do not apply or will not be fixed, they must be added to the Vendor Questionnaire to inform testing automation and customers.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Customer Impact&lt;/STRONG&gt;&lt;/EM&gt;: Highly desired by corporate customers.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Testability&lt;/I&gt;&lt;/B&gt;: boot &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/orca_exe.asp"&gt;Orca&lt;/A&gt; on MSI file , click &lt;B&gt;Tools&lt;/B&gt; | &lt;B&gt;Validate&lt;/B&gt;, in &lt;B&gt;Validaiton Output&lt;/B&gt; dialog uncheck the &lt;B&gt;Show "INFO" Messages&lt;/B&gt; click &lt;B&gt;Go&lt;/B&gt;, run without errors, document any warnings&lt;/P&gt;
&lt;H3&gt;Uninstallation&lt;/H3&gt;
&lt;P&gt;Your application’s package must correctly and fully uninstall the application. A pure MSI package does this automatically. If your package includes &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/custom_actions.asp"&gt;custom actions&lt;/A&gt;, you may need to proactively ensure that your application properly uninstalls with an &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/uninstalling_custom_actions.asp"&gt;uninstall custom action&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;B&gt;Customer Impact&lt;/B&gt;&lt;/I&gt;: Highly desired by corporate and retail customers.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Testability&lt;/I&gt;&lt;/B&gt;: snap system before install and after uninstall and any thing remaining on the system should be listed in the vendor questionnaire.&lt;/P&gt;
&lt;DIV id=CSBloggerSig&gt;
&lt;DIV&gt;&lt;FONT face=Verdana color=#969696 size=2&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#969696&gt;&lt;FONT size=1&gt;[Author: &lt;/FONT&gt;&lt;a href="http://blogs.msdn.com/rflaming"&gt;&lt;FONT size=1&gt;Robert Flaming&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt;]&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size=1&gt;This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/info/cpyright.htm"&gt;&lt;FONT size=1&gt;http://www.microsoft.com/info/cpyright.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt;.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=463651" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/Design+Pointers/default.aspx">Design Pointers</category><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/PDC2005/default.aspx">PDC2005</category></item><item><title>Best Practice Guidelines for Building Quality Installs: Part 0, the Introduction</title><link>http://blogs.msdn.com/windows_installer_team/archive/2005/09/27/463649.aspx</link><pubDate>Tue, 27 Sep 2005 06:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:463649</guid><dc:creator>Windows Installer Team</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/windows_installer_team/comments/463649.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windows_installer_team/commentrss.aspx?PostID=463649</wfw:commentRss><description>&lt;P&gt;With the start of the &lt;A href="http://go.microsoft.com/?linkid=3187976"&gt;&lt;FONT color=#0066cc&gt;Profesional Developers Conference 2005&lt;/FONT&gt;&lt;/A&gt;, the &lt;a href="http://blogs.msdn.com/windows_installer_team"&gt;&lt;FONT color=#0066cc&gt;Windows Installer Team&lt;/FONT&gt;&lt;/A&gt; is starting a series of &lt;a href="http://blogs.msdn.com/windows_installer_team/archive/category/10860.aspx"&gt;&lt;FONT color=#0066cc&gt;Best Practice Guidelines for Building Quality Installs&lt;/FONT&gt;&lt;/A&gt;. &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/windows_installer_start_page.asp"&gt;&lt;FONT color=#0066cc&gt;Windows Installer (MSI)&lt;/FONT&gt;&lt;/A&gt; is a rich engine with many &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/about_windows_installer.asp"&gt;&lt;FONT color=#0066cc&gt;features&lt;/FONT&gt;&lt;/A&gt; to solve installation problems including an &lt;SPAN lang=EN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;extensibility&lt;/SPAN&gt; feature called &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/custom_actions.asp"&gt;&lt;FONT color=#0066cc&gt;custom actions&lt;/FONT&gt;&lt;/A&gt;. Given all the freedom provided when composing packages, package producers and consumers both need a reference with guidelines for quality packages.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Customer Value&lt;/I&gt;&lt;/B&gt;: Some package producers report getting lost in the Windows Installer (MSI) feature set and ask for guidance to do the right thing while saving time. Some package consumers report back to us the common problem they find they are provided and ask us for help in getting the package producers to do the right thing.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Testability&lt;/I&gt;&lt;/B&gt;: How do package producers and consumers arrive at the same interpretation of a best practice? With each Best Practice we'll include a testability component to provide neutral guidance on whether a package conforms.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Complementary Infrastructure&lt;/I&gt;&lt;/B&gt;: For the sake of the exercise, we're assuming there is both a declaration file called a Vendor Questionnaire that is provided by the package provider and a report file called a Compliance Report that is provided by the package consumer. We're also assuming one has a tool that snapshots the system and can difference two snapshots.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Quality Accountability Model&lt;/I&gt;&lt;/B&gt;: It is expected that a package provider would declare any variation from a best practice in the Vendor Questionnaire. It is expected that a package consumer would report any variation from a best practice in the Compliance Report. With this &lt;SPAN lang=EN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;transparency&lt;/SPAN&gt;, the consumer if fully informed as to the qualities of the software one is considering consuming and if either the declared qualities or declarations are missing, a fair upfront discussion can occur between provider and consumer.&lt;/P&gt;
&lt;P&gt;We welcome your feedback. Please let us know if there are areas you are particularly interested in.&lt;/P&gt;
&lt;DIV id=CSBloggerSig&gt;
&lt;DIV&gt;&lt;FONT face=Verdana color=#969696 size=2&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#969696&gt;&lt;FONT size=1&gt;[Author: &lt;/FONT&gt;&lt;a href="http://blogs.msdn.com/rflaming"&gt;&lt;FONT size=1&gt;Robert Flaming&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt;]&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size=1&gt;This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/info/cpyright.htm"&gt;&lt;FONT size=1&gt;http://www.microsoft.com/info/cpyright.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt;.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=463649" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/PDC2005/default.aspx">PDC2005</category><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/Best+Practice+Guidelines/default.aspx">Best Practice Guidelines</category></item><item><title>How do I get a deep view of what Windows Installer is doing?</title><link>http://blogs.msdn.com/windows_installer_team/archive/2005/09/21/471793.aspx</link><pubDate>Wed, 21 Sep 2005 09:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:471793</guid><dc:creator>Windows Installer Team</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/windows_installer_team/comments/471793.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windows_installer_team/commentrss.aspx?PostID=471793</wfw:commentRss><description>&lt;H4&gt;Question&lt;/H4&gt;How do I get a deep view of what Windows Installer is doing? 
&lt;H4&gt;Answer&lt;/H4&gt;
&lt;P&gt;One of the comments I got from the PDC was that the SDK documentation and commercial tools lacked sufficient depth if one really wanted to figure out what was going on. Verbose logging helps but what's happening in between log lines. In the course of day to day operations, hem offered the following&lt;/P&gt;
&lt;P&gt;let us see if the following steps help in narrowing down the API calls and the time spent in each of those API: 
&lt;OL&gt;
&lt;LI&gt;Enable MSI Debug logging via policy. 
&lt;LI&gt;Run DebugMon.exe while you make MSI API calls 
&lt;LI&gt;Collect the logs for the fast and slow response scenarios in separate Debug logs. Share the debug spew. 
&lt;LI&gt;Turn off MSI logging policy to ensure that system performance is not hindered due to logging. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;How do I set MSI Debug Logging? 
&lt;OL&gt;
&lt;LI&gt;Add the following values under the key: 
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;&lt;FONT face="courier new"&gt;
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer

"Debug"=dword:00000007

"Logging"="voicewarmupX"

&lt;/FONT&gt;
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;LI&gt;net stop msiserver 
&lt;LI&gt;Kill any remaining instances of msiexec. 
&lt;LI&gt;net start msiserver 
&lt;LI&gt;Restart the application which needs to be investigated. 
&lt;LI&gt;Repro the Scenario and collect debugger logs from debugmon.exe. 
&lt;LI&gt;After that, remove the registry entries added in step 1 and redo steps 2 and 3, otherwise Windows Installer will keep spewing out a lot of debug output which will make it really slow. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Most of our API, when this policy is set, spew to debugger the parameters and return values. However, there are some API that don’t log this info. In some instances, getting that partial info itself could be fairly useful.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=1&gt;Content credit also belongs to &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;a href="http://blogs.msdn.com/windows_installer_team/archive/2005/09/09/463151.aspx"&gt;Hemchander Sannidhanam&lt;/A&gt;, MSI Team Dev. You can get other Hem insights about developing for Windows Installer from the &lt;A href="http://msdn.microsoft.com/chats/transcripts/windows/default.aspx"&gt;Windows Installer Chat Archives&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;/FONT&gt;
&lt;DIV id=CSBloggerSig&gt;
&lt;DIV&gt;&lt;FONT face=Verdana color=#969696 size=1&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#969696 size=1&gt;[Author: &lt;a href="http://blogs.msdn.com/rflaming"&gt;Robert Flaming&lt;/A&gt;]&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size=1&gt;This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/info/cpyright.htm"&gt;&lt;FONT size=1&gt;http://www.microsoft.com/info/cpyright.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt;.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=471793" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/PDC2005/default.aspx">PDC2005</category></item><item><title>How do I find all the Windows Installer packages installed on my machine?</title><link>http://blogs.msdn.com/windows_installer_team/archive/2005/09/19/463724.aspx</link><pubDate>Mon, 19 Sep 2005 02:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:463724</guid><dc:creator>Windows Installer Team</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/windows_installer_team/comments/463724.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windows_installer_team/commentrss.aspx?PostID=463724</wfw:commentRss><description>&lt;H4&gt;Question&lt;/H4&gt;
&lt;P&gt;How do I find all the Windows Installer packages installed on my machine?&lt;/P&gt;
&lt;H4&gt;Answer&lt;/H4&gt;
&lt;P&gt;Here’s the APIs and the Properties one would need 
&lt;BLOCKQUOTE&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/msienumproducts.asp"&gt;MsiEnumProducts(DWORD,LPTSTR) function [Windows Installer]&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/msienumproductsex.asp"&gt;MsiEnumProductsEx (8 Parameters) function [Windows Installer]&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/vsintro7/html/vxgrfproductcodeproperty.asp"&gt;ProductCode Property&lt;BR&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/msigetproductinfoex.asp"&gt;MsiGetProductInfoEx (6 Parameters) function [Windows Installer]&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/msigetproductinfo.asp"&gt;MsiGetProductInfo(LPCTSTR,LPCTSTR,LPTSTR,DWORD) function [Windows Installer]&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/upgradecode.asp"&gt;UpgradeCode property [Windows Installer]&lt;/A&gt;&lt;BR&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;If one were interested in finding the installation location, use 
&lt;BLOCKQUOTE&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/msisourcelistgetinfo.asp"&gt;MsiSourceListGetInfo (7 Parameters) function [Windows Installer]&lt;A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/msisourcelistenumsources.asp"&gt;MsiSourceListEnumSources (7 Parameters) function [Windows Installer]&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/msisourcelistenummediadisks.asp"&gt;MsiSourceListEnumMediaDisks (10 Parameters) function [Windows Installer]&lt;/A&gt;&lt;BR&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;What would be really cool is to migrate the feature states as well with 
&lt;BLOCKQUOTE&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/msiqueryfeaturestate.asp"&gt;MsiQueryFeatureState(LPCTSTR,LPCTSTR) function [Windows Installer]&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/msiqueryfeaturestateex.asp"&gt;MsiQueryFeatureStateEx (5 Parameters) function [Windows Installer]&lt;/A&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;To populate the &lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/preselected.asp"&gt;preselected&lt;/A&gt; properties&lt;BR&gt;&lt;BR&gt;
&lt;BLOCKQUOTE&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/addsource.asp"&gt;ADDSOURCE property [Windows Installer]&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/advertise.asp"&gt;ADVERTISE property [Windows Installer]&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/msi/setup/addlocal.asp"&gt;ADDLOCAL property [Windows Installer]&lt;/A&gt;&lt;BR&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;DIV id=CSBloggerSig&gt;
&lt;DIV&gt;&lt;FONT face=Verdana color=#969696 size=1&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#969696 size=1&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#969696 size=1&gt;[Author: &lt;a href="http://blogs.msdn.com/rflaming"&gt;Robert Flaming&lt;/A&gt;]&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size=1&gt;This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/info/cpyright.htm"&gt;&lt;FONT size=1&gt;http://www.microsoft.com/info/cpyright.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt;.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=463724" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/Design+Pointers/default.aspx">Design Pointers</category><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/PDC2005/default.aspx">PDC2005</category></item><item><title>Catch our session at Microsoft PDC 2005!</title><link>http://blogs.msdn.com/windows_installer_team/archive/2005/09/15/467783.aspx</link><pubDate>Thu, 15 Sep 2005 10:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:467783</guid><dc:creator>Windows Installer Team</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/windows_installer_team/comments/467783.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windows_installer_team/commentrss.aspx?PostID=467783</wfw:commentRss><description>&lt;P&gt;Hello everyone,&lt;/P&gt;
&lt;P&gt;Just a reminder that Tyler Robinson and Jamie Cool will be speaking about software installation on Windows Vista and what cool new features we have in store for the next release of the Windows Installer here at the PDC.&lt;/P&gt;
&lt;P&gt;FUN222 - What's New in Software Installation on Windows Vista: Exploring the Windows Installer (MSI) and ClickOnce Options.&lt;BR&gt;Friday, September 16th @ 1:00 PM&lt;BR&gt;Room 406AB&lt;/P&gt;
&lt;P&gt;If you are at the PDC, I hope to see you there.&amp;nbsp;And don't forget that Robert and I can be found in the Fundamentals Lounge all day today and tomorrow.&lt;/P&gt;
&lt;P&gt;- Tyler&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=467783" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/PDC2005/default.aspx">PDC2005</category></item><item><title>Live from PDC 2005!  No power, no problem ;^)</title><link>http://blogs.msdn.com/windows_installer_team/archive/2005/09/12/464247.aspx</link><pubDate>Tue, 13 Sep 2005 01:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:464247</guid><dc:creator>Windows Installer Team</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/windows_installer_team/comments/464247.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windows_installer_team/commentrss.aspx?PostID=464247</wfw:commentRss><description>&lt;P&gt;&lt;a href="http://blogs.msdn.com/robmen"&gt;Rob&lt;/A&gt;&amp;nbsp;and I had an uneventful Alaska Air flight from SeaTac to LAX.&amp;nbsp; We've picked up car from Avis (well, a minivan) and then were off to the Biltmore.&amp;nbsp; Dropped our bags,&amp;nbsp;walked a dozen L.A. blocks to the Conference Center and grabbed a quick lunch.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;As we were finishing up, pow, the &lt;A href="http://www.msnbc.msn.com/id/9315974"&gt;lights went out&lt;/A&gt;.&amp;nbsp; Inside the conference center, first there was cheering and clapping.&amp;nbsp; Yep, we're geeks.&amp;nbsp; The emergency lights came on and the room had a nice soothing &lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;ambiance&lt;/SPAN&gt;.&amp;nbsp; With the ceiling decorations featuring Office 12 branding it kind of felt like a Microsoft prom (a geek prom).&amp;nbsp; A couple of hours of darkness and there was light.&amp;nbsp; Then we come to find out that it as a blockout for a good part of L.A.&lt;/P&gt;
&lt;P&gt;We're now hanging out at the Lounge now.&amp;nbsp; Wireless is miserable (but better than teched 05) so we're using the hard lines.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Got to go make sure our hands on lab works.&amp;nbsp; Will checkin a bit later.&lt;BR&gt;&lt;/P&gt;
&lt;DIV&gt;&lt;FONT color=#969696 size=1&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#969696 size=1&gt;[Author: &lt;a href="http://blogs.msdn.com/rflaming"&gt;&lt;FONT color=#003399&gt;Robert Flaming&lt;/FONT&gt;&lt;/A&gt;]&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size=1&gt;This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/info/cpyright.htm"&gt;&lt;FONT color=#003399 size=1&gt;http://www.microsoft.com/info/cpyright.htm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt;.&lt;BR&gt;keywords: pdc 05 pdc05 pdc2005&lt;/FONT&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=464247" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/PDC2005/default.aspx">PDC2005</category></item><item><title>Tyler and Robert on their way to PDC 2005</title><link>http://blogs.msdn.com/windows_installer_team/archive/2005/09/10/463270.aspx</link><pubDate>Sat, 10 Sep 2005 04:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:463270</guid><dc:creator>Windows Installer Team</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/windows_installer_team/comments/463270.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windows_installer_team/commentrss.aspx?PostID=463270</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://msdn.microsoft.com/events/pdc/images/LA_dntown_map.pdf"&gt;Los Angeles&lt;/A&gt; here we come! &lt;/P&gt;
&lt;P&gt;&lt;A href="http://commnet.microsoftpdc.com/content/Speaker_pop.aspx?SpeakerID=3a34db29-3554-4eb6-9f45-328c062f9335"&gt;Tyler's&lt;/A&gt; speaking at &lt;A href="http://commnet.microsoftpdc.com/content/sessionview.aspx?TopicID=e81ddc8b-8e8b-4cfa-86da-5da06ff54d6b"&gt;FUN222 - Windows Vista: What’s New in Software Installation for Windows Vista: Exploring the Windows Installer (MSI) and ClickOnce Options&lt;/A&gt; in room &lt;A href="http://www.lacclink.com/exhibit_concoursemeeting.htm"&gt;406 AB&lt;/A&gt; on &lt;A href="http://msdn.microsoft.com/events/pdc/agenda/agenda/default.aspx"&gt;Friday the 16th at 1pm&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Robert's signed up to co-own the Fundamentals Track Lounge where: &lt;I&gt;speakers are our SWAG&lt;/I&gt;. We've got an average of 20 experts covering the lounge at any one time.. &lt;/P&gt;
&lt;P&gt;Stop on by and say hi!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=1&gt;PDC2005 PDC05 PDC 05&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=463270" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windows_installer_team/archive/tags/PDC2005/default.aspx">PDC2005</category></item></channel></rss>