<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru-RU"><title type="html">Alex Shevchuk</title><subtitle type="html">"Progress doesn't come from early risers - progress is made by lazy men looking for easier ways to do things."  Lazarus Long</subtitle><id>http://blogs.technet.com/alexshev/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.technet.com/alexshev/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2008-04-04T17:26:00Z</updated><entry><title>From MSI to WiX, Part 25 - Installable Items - Updating XML files using XmlFile</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2009/05/27/from-msi-to-wix-part-25-installable-items-updating-xml-files-using-xmlfile.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="5061" href="http://blogs.technet.com/alexshev/attachment/3245945.ashx" /><id>http://blogs.technet.com/alexshev/archive/2009/05/27/from-msi-to-wix-part-25-installable-items-updating-xml-files-using-xmlfile.aspx</id><published>2009-05-27T22:34:00Z</published><updated>2009-05-27T22:34:00Z</updated><content type="html">To use XmlFile element we need to: Add reference to WixUtilExtension extension. Add util namespace to &amp;lt;Wix&amp;gt; element: &amp;lt;? xml version = " 1.0 " encoding = " UTF-8 " ?&amp;gt; &amp;lt; Wix xmlns = " http://schemas.microsoft.com/wix/2006/wi " xmlns:util = " http://schemas.microsoft.com/wix/UtilExtension " &amp;gt; Here is what we can do with existing XML file using XmlFile element: Set the value of an attribute Set the text value of an element Create new element Create new attribute Delete the text value...(&lt;a href="http://blogs.technet.com/alexshev/archive/2009/05/27/from-msi-to-wix-part-25-installable-items-updating-xml-files-using-xmlfile.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3245945" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>From MSI to WiX, Part 24 - DLL Custom Actions - Get property value and obtaining/changing session information</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2009/05/26/from-msi-to-wix-part-24-dll-custom-actions-get-property-value-and-obtaining-changing-session-information.aspx" /><id>http://blogs.technet.com/alexshev/archive/2009/05/26/from-msi-to-wix-part-24-dll-custom-actions-get-property-value-and-obtaining-changing-session-information.aspx</id><published>2009-05-26T22:20:00Z</published><updated>2009-05-26T22:20:00Z</updated><content type="html">In previous post we looked at how to set propery's value. Getting property value is more involved because we need to make sure that provided memory buffer for property value is big enough to hold the value. Function MsiGetProperty is used to get a property value. Description for MsiGetProperty function has a very good sample on how to get value of a property. WiX API has a set of functions to get value of a property: WcaGetProperty - returns value of a property. WcaGetIntProperty - returns an integer...(&lt;a href="http://blogs.technet.com/alexshev/archive/2009/05/26/from-msi-to-wix-part-24-dll-custom-actions-get-property-value-and-obtaining-changing-session-information.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3244786" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>Documentation on WiX API</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2009/05/21/documentation-on-wix-api.aspx" /><link rel="enclosure" type="application/octet-stream" length="144895" href="http://blogs.technet.com/alexshev/attachment/3244389.ashx" /><id>http://blogs.technet.com/alexshev/archive/2009/05/21/documentation-on-wix-api.aspx</id><published>2009-05-22T05:50:00Z</published><updated>2009-05-22T05:50:00Z</updated><content type="html">I just want to let everybody know that I am working on documenting WiX API, namely - wcautil and dutil libraries. I don't mind if this will become part of official WiX documentation. In fact, I hope - it will, because I personally, would like to see something like this in the WiX help file. Any feedback and help are welcome. I am going to update attachment(s) as often as I will have significant enough amount of changes in the content, so, if you want to have an update, check it regularly. Thanks,...(&lt;a href="http://blogs.technet.com/alexshev/archive/2009/05/21/documentation-on-wix-api.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3244389" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>From MSI to WiX, Part 23 - DLL Custom Actions - Logging and setting properties</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2009/05/16/from-msi-to-wix-part-23-dll-custom-actions-logging-and-setting-properties.aspx" /><id>http://blogs.technet.com/alexshev/archive/2009/05/16/from-msi-to-wix-part-23-dll-custom-actions-logging-and-setting-properties.aspx</id><published>2009-05-17T07:20:00Z</published><updated>2009-05-17T07:20:00Z</updated><content type="html">Let's start with setting property value using MSI API MsiSetProperty . This function takes three parameters: An installation handle, originally passed to custom action's function by Windows Installer. Name of the property to set or remove. New value for the property or NULL (or empty string) to remove property. To get the installation handle we could cache it in some global variable, but WiX provides caching already in the form of WcaInitialize (to cache handle) and WcaGetInstallHandle (to get cached...(&lt;a href="http://blogs.technet.com/alexshev/archive/2009/05/16/from-msi-to-wix-part-23-dll-custom-actions-logging-and-setting-properties.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3242435" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>From MSI to WiX, Part 22 - DLL Custom Actions - Introduction</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2009/05/15/from-msi-to-wix-part-22-dll-custom-actions-introduction.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="2091073" href="http://blogs.technet.com/alexshev/attachment/3242011.ashx" /><id>http://blogs.technet.com/alexshev/archive/2009/05/15/from-msi-to-wix-part-22-dll-custom-actions-introduction.aspx</id><published>2009-05-16T07:24:00Z</published><updated>2009-05-16T07:24:00Z</updated><content type="html">Today I am starting a mini series on writing C++ custom actions. Let's start with wizard-generated custom action project. Start Visual Studio and select "C++ Custom Action Project". Set "CAIntro" as the name of the project. Before we will start discussing what is in the generated code, let's talk about what Windows Installer is expecting from dll in order to be a good behaving MSI custom action dll. First of all, dll must provide the usual dll entry point - DllMain function. On process attach event...(&lt;a href="http://blogs.technet.com/alexshev/archive/2009/05/15/from-msi-to-wix-part-22-dll-custom-actions-introduction.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3242011" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>Можно ли использовать данные, полученные при использовании RegistrySearch в RegistryValue</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2009/05/14/registrysearch-registryvalue.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="4868" href="http://blogs.technet.com/alexshev/attachment/3241078.ashx" /><id>http://blogs.technet.com/alexshev/archive/2009/05/14/registrysearch-registryvalue.aspx</id><published>2009-05-14T23:24:00Z</published><updated>2009-05-14T23:24:00Z</updated><content type="html">English version is here . Вопрос: Можно ли использовать данные, полученные при использовании RegistrySearch в RegistryValue? Нечто вроде этого: &amp;lt;Property Id="PROP1"&amp;gt; &amp;lt;RegistrySearch Id="search1" Root="HKLM" Key="somekey" Name="somename" Type="raw" /&amp;gt; &amp;lt;/Property&amp;gt; ... &amp;lt;RegistryValue Type="???" Name="othervalue" Value="PROP1" /&amp;gt; Прежде всего, для того чтобы использовать свойство необходимо, чтобы атрибут элемента имел тип данных Formatted . Документация по таблице Registry и...(&lt;a href="http://blogs.technet.com/alexshev/archive/2009/05/14/registrysearch-registryvalue.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3241078" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>Как сохранить значения свойств использовавшихся при начальной установке</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2009/05/13/3240991.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="4949" href="http://blogs.technet.com/alexshev/attachment/3240991.ashx" /><id>http://blogs.technet.com/alexshev/archive/2009/05/13/3240991.aspx</id><published>2009-05-14T09:35:00Z</published><updated>2009-05-14T09:35:00Z</updated><content type="html">English version is here . Один из наиболее часто задаваемых вопросов - как сохранить значение свойства, которое было присвоено свойству во время инсталлирования программы (присвоенное либо через параметер в командной строке или через пользовательский интерфейс как, например, INSTALLLOCATION). В качестве примера возьмем одну из возможный ситуатций. Рассмотрим очень простой пример. Идея состоит в том, что пользователь передает через командную строку значение, которое необходимо записать в XML файл....(&lt;a href="http://blogs.technet.com/alexshev/archive/2009/05/13/3240991.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3240991" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>Preserving properties used during install</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2009/05/13/preserving-properties-used-during-install.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="4877" href="http://blogs.technet.com/alexshev/attachment/3240837.ashx" /><id>http://blogs.technet.com/alexshev/archive/2009/05/13/preserving-properties-used-during-install.aspx</id><published>2009-05-14T05:15:00Z</published><updated>2009-05-14T05:15:00Z</updated><content type="html">Русская версия здесь . One of the most common questions is how to preserve the value of property used during install (either passed through command line or properties like INSTALLLOCATION which can be changed in the UI) so that it can be used during maintenance or uninstall. For example, here is one of the possible situations. Consider this very simple example. The idea here is that user passes the value to be written in the xml file through command line parameter. We need to make sure that during...(&lt;a href="http://blogs.technet.com/alexshev/archive/2009/05/13/preserving-properties-used-during-install.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3240837" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>Is it possible to use RegistrySearch result in RegistryValue?</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2009/05/11/is-it-possible-to-use-registrysearch-result-in-registryvalue.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="4868" href="http://blogs.technet.com/alexshev/attachment/3239451.ashx" /><id>http://blogs.technet.com/alexshev/archive/2009/05/11/is-it-possible-to-use-registrysearch-result-in-registryvalue.aspx</id><published>2009-05-12T08:50:00Z</published><updated>2009-05-12T08:50:00Z</updated><content type="html">Русская версия здесь . This post is an answer to this question sent to wix-users mailing list: Is it possible to use RegistrySearch result in RegistryValue? Something like this: &amp;lt;Property Id="PROP1"&amp;gt; &amp;lt;RegistrySearch Id="search1" Root="HKLM" Key="somekey" Name="somename" Type="raw" /&amp;gt; &amp;lt;/Property&amp;gt; ... &amp;lt;RegistryValue Type="???" Name="othervalue" Value="PROP1" /&amp;gt; First of all, in order to use property, desired field must have Formatted data type. Quick look to Registry table and...(&lt;a href="http://blogs.technet.com/alexshev/archive/2009/05/11/is-it-possible-to-use-registrysearch-result-in-registryvalue.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3239451" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>From MSI to WiX, Part 20 - User Interface - Required Dialog Boxes</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2008/10/16/from-msi-to-wix-part-20-user-interface-required-dialog-boxes.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="61055" href="http://blogs.technet.com/alexshev/attachment/3111245.ashx" /><id>http://blogs.technet.com/alexshev/archive/2008/10/16/from-msi-to-wix-part-20-user-interface-required-dialog-boxes.aspx</id><published>2008-10-17T07:15:00Z</published><updated>2008-10-17T07:15:00Z</updated><content type="html">The main page for the series is here . Introduction We will start with exploring Required Dialog Boxes. Microsoft Windows Installer uses three special dialogs in response to the following events during product installation: Exit Dialog - shown when installation completed successfully. Required name for the dialog is ExitDialog. Fatal Error Dialog - shown in response to installation termination due to the fatal error. Required name for the dialog is FatalError. User Exit Dialog - shown in response...(&lt;a href="http://blogs.technet.com/alexshev/archive/2008/10/16/from-msi-to-wix-part-20-user-interface-required-dialog-boxes.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3111245" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>From MSI to WiX, Part 4 - Features and Components</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2008/08/23/from-msi-to-wix-part-4-features-and-components.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="93357" href="http://blogs.technet.com/alexshev/attachment/3110847.ashx" /><id>http://blogs.technet.com/alexshev/archive/2008/08/23/from-msi-to-wix-part-4-features-and-components.aspx</id><published>2008-08-24T03:55:00Z</published><updated>2008-08-24T03:55:00Z</updated><content type="html">The main page for the series is here . Introduction When we install any msi what we are doing is we are installing a Product which is contained in a package (msi file). Every product consists of one or more features and every feature contains zero or more components. Components can be shared between features in the same application or between features in different applications. Features In MSI database features are represented by Feature table. This table defines the logical tree structure of features....(&lt;a href="http://blogs.technet.com/alexshev/archive/2008/08/23/from-msi-to-wix-part-4-features-and-components.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3110847" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>From MSI to WiX, Part 19 - The Art of Custom Action, Part 1</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2008/07/01/from-msi-to-wix-part-19-the-art-of-custom-action-part-1.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="36356" href="http://blogs.technet.com/alexshev/attachment/3081421.ashx" /><id>http://blogs.technet.com/alexshev/archive/2008/07/01/from-msi-to-wix-part-19-the-art-of-custom-action-part-1.aspx</id><published>2008-07-02T08:41:00Z</published><updated>2008-07-02T08:41:00Z</updated><content type="html">The main page for the series is here . Code for this topic is attached. Introduction Today we will start exploring custom actions, how to write them, what makes custom action good custom action and everything else related to custom actions. Let's start with very simple sample. We have an application which creates a new file during run-time and this file is not part of originally installed files. On uninstall we need to delete this file as well. The name of the file is well known. Here is the source...(&lt;a href="http://blogs.technet.com/alexshev/archive/2008/07/01/from-msi-to-wix-part-19-the-art-of-custom-action-part-1.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3081421" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>From MSI to WiX, Part 17 - Windows Installer Automation Interface, Part 2</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2008/06/30/from-msi-to-wix-part-17-windows-installer-automation-interface-part-2.aspx" /><link rel="enclosure" type="application/octet-stream" length="8265" href="http://blogs.technet.com/alexshev/attachment/3080476.ashx" /><id>http://blogs.technet.com/alexshev/archive/2008/06/30/from-msi-to-wix-part-17-windows-installer-automation-interface-part-2.aspx</id><published>2008-07-01T07:11:00Z</published><updated>2008-07-01T07:11:00Z</updated><content type="html">The main page for the series is here . Introduction Today we will explore the database of installed products. In standalone administartive tools scripts you need to create an Installer object using the following commands: Dim Installer Set Installer = Wscript.CreateObject( "WindowsInstaller.Installer" ) In scripting custom action MSI engine will make Installer and Session objects available without requiring any action from the user. Querying the database of installed products We can use the Products...(&lt;a href="http://blogs.technet.com/alexshev/archive/2008/06/30/from-msi-to-wix-part-17-windows-installer-automation-interface-part-2.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3080476" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>From MSI to WiX, Part 11 - Windows Installer Automation Interface, Part 1</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2008/06/29/from-msi-to-wix-part-11-windows-installer-automation-interface-part-1.aspx" /><id>http://blogs.technet.com/alexshev/archive/2008/06/29/from-msi-to-wix-part-11-windows-installer-automation-interface-part-1.aspx</id><published>2008-06-30T08:17:00Z</published><updated>2008-06-30T08:17:00Z</updated><content type="html">The main page for the series is here . Introduction This post starts a series on Windows Installer Object Model . We will explore how and when to use automation interface objects, properties, and functions. Roughly, we have three main groups: Getting information about installed products Updating installed products Making changes in the MSI database during installation There also few methods to deal with advertising and few helper methods (getting value of environment variable or registry, few file...(&lt;a href="http://blogs.technet.com/alexshev/archive/2008/06/29/from-msi-to-wix-part-11-windows-installer-automation-interface-part-1.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3080557" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry><entry><title>From MSI to WiX, Part 16 - Installable Items - Handling Installation Media</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/alexshev/archive/2008/04/04/from-msi-to-wix-part-16-installable-items-handling-installation-media.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="1244" href="http://blogs.technet.com/alexshev/attachment/3028948.ashx" /><id>http://blogs.technet.com/alexshev/archive/2008/04/04/from-msi-to-wix-part-16-installable-items-handling-installation-media.aspx</id><published>2008-04-05T03:26:00Z</published><updated>2008-04-05T03:26:00Z</updated><content type="html">The main page for the series is here . Introduction Before we start talking about installing files, I feel that we need to understand the options we have in distributing files that need to be installed with our installation package. The following elements are involved in the distributing source files with the installation package on the MSI side: Word Count Summary Property Media table File table Error table DiskPrompt property Authoring Disk Propmt Messages On the WiX side: &amp;lt;Package&amp;gt; element...(&lt;a href="http://blogs.technet.com/alexshev/archive/2008/04/04/from-msi-to-wix-part-16-installable-items-handling-installation-media.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3028948" width="1" height="1"&gt;</content><author><name>alexshev</name><uri>http://blogs.technet.com/members/alexshev.aspx</uri></author><category term="Microsoft Installer" scheme="http://blogs.technet.com/alexshev/archive/tags/Microsoft+Installer/default.aspx" /><category term="MSI" scheme="http://blogs.technet.com/alexshev/archive/tags/MSI/default.aspx" /><category term="WiX" scheme="http://blogs.technet.com/alexshev/archive/tags/WiX/default.aspx" /></entry></feed>