<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>wix &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/wix/</link>
	<description>Feed of posts on WordPress.com tagged "wix"</description>
	<pubDate>Sun, 06 Dec 2009 18:17:01 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Musings on Wix]]></title>
<link>http://sohotechnology.wordpress.com/2009/11/18/musings-on-wix/</link>
<pubDate>Wed, 18 Nov 2009 13:07:08 +0000</pubDate>
<dc:creator>SOHO Technology</dc:creator>
<guid>http://sohotechnology.wordpress.com/2009/11/18/musings-on-wix/</guid>
<description><![CDATA[Like many developers, I tend to forget about the installation process. In the past, I have thrown th]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Like many developers, I tend to forget about the installation process. In the past, I have thrown the product over the wall and left the installation to process to someone else. I knew this practice was less than optimal, but it was what I had to work with. On my last project, I took ownership of the full process including installation. Given that I did not want to pay too much money for yet another copy of an installation-building product, I decided it was time to learn to use <a href="http://wix.sourceforge.net/">Wix</a>. While I will not say that Wix is wonderful, the price is right and it is, in many ways, less frustrating than the commercial products.</p>
<p>Wix has the advantage that the installation builder is close to the Windows Installer database tables so the possibility of the tables not being built right is small. Wix’s advantage is also its disadvantage, in that the user must learn the Windows Installer before they can do much with Wix. I realized that the commercial GUI installation builders and the Visual Studio setup projects are masking a lot of information. I also discovered that many issues with past installations were due to a lack of knowledge about the Windows Installer because the GUI products made the whole process seem simple, which is as far from reality as can be.</p>
<p>On first look, starting a new installation project with Wix is an overwhelming task. As you begin to read the Wix documentation, you rapidly understand you will be creating many GUIDS and doing a lot of typing. I attempted to create an installation without reading the Windows Installer documentation. While it is possible to create a usable installation without aide of the installer documentation, having more than a glancing familiarity with the Windows Installer will certainly help you create better installations.</p>
<p>Wix has some tools that automate a lot of this process, but they should be avoided on the first attempt. I say avoid them, not because they are bad, but because they can easily put the user in the same place as the GUI installers; too much masking of what is really happening. Misusing the tools can cause many undesired side effects.</p>
<p>It took me two days to create a simple install that had sixty components, many of which were shared between the two installable features. That time included understanding how to create the Start Menu entries and populate all the fields in the Add/Remove/Programs table (keep in mind that Wix is the assembler level code of the installer and it does almost nothing for you automatically). After the two days, my install would correctly clean up upon “un-installation” so that there was no trace of the program left on the system (the complete cleanup is something that the installer documentation and the Wix developers stress). I have not yet attempted patches or upgrade installs and I suspect that I am violating installer rules such that these will not work; so more reading on major and minor upgrades.</p>
<p>I had to include the call of a managed code installer class (System.Configuration.Install.Installer). While this is a bit difficult, the hardest part was figuring out how to do it. The process is almost completely devoid of documentation. The first thing I had to get into my head was that calling the Installer class was really a managed custom action. As soon as you mention managed custom actions, many people form a defensive circle and tell you that you should not write one. Both the Wix developers and the Windows Installer team discourage their use, but they can be extremely useful and, when done correctly, do not violate any of the installer’s rules. We would all benefit from the Windows Installer team removing their heads from the sand and embracing managed custom actions or even better if they would create a standard action to call a managed Installer class, but I am not holding my breath. Anyway, a day later, I had the custom action working and correctly cleaning up upon product removal.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[WIX, a FREE Flash website builder]]></title>
<link>http://consultingcents.wordpress.com/2009/11/16/wix-a-free-flash-website-builder/</link>
<pubDate>Mon, 16 Nov 2009 22:46:57 +0000</pubDate>
<dc:creator>consultingcents</dc:creator>
<guid>http://consultingcents.wordpress.com/2009/11/16/wix-a-free-flash-website-builder/</guid>
<description><![CDATA[We have recently added two flash sites to our portfolio using the WIX platform and found it to be ve]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>We have recently added two flash sites to our portfolio using the WIX platform and found it to be very easy to use as a WYSIWYG flash platform and is sufficient for most needs, especially if you are heavy on the media and galleries. And what really makes WIX great is that it is FREE! Although the stability of the platform is definitely something WIX should consider. Other than that, it is a great platform for small business owners wanting to get a FREE flash website. They even have a E-Commerce package where you just drag and drop a shopping cart which is great too but that is a commercial service and would require a monthly fee. You can visit them at http://www.wix.com or take a look at http://www.wix.com/ConsultingCents/Consulting-Cents and http://www.wix.com/ConsultingCents/Sophisticated to see what Consulting Cents could create using WIX. The images below showcase what it generally looks like.</p>

<p>I hope you will find this information useful (especially on the cost savings part) and please let us know your feedback on this WIX platform.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Free Flash Website]]></title>
<link>http://walstonphoto.wordpress.com/2009/11/16/free-flash-website/</link>
<pubDate>Mon, 16 Nov 2009 13:42:51 +0000</pubDate>
<dc:creator>walstonphoto</dc:creator>
<guid>http://walstonphoto.wordpress.com/2009/11/16/free-flash-website/</guid>
<description><![CDATA[As I looked to get back into wedding photography I searched for a low cost (free) website provider a]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://walstonphoto.wordpress.com/files/2009/11/wix.jpg"><img class="alignnone size-medium wp-image-295" src="http://walstonphoto.wordpress.com/files/2009/11/wix.jpg?w=300" alt="" width="300" height="145" /></a></p>
<p>As I looked to get back into wedding photography I searched for a low cost (free) website provider and came across <a href="http://www.wix.com/" target="_blank">Wix</a>.  The attraction was that it is flash based so you can create a super cool site that looks slick and professional.  Unfortunately I soon found that I really needed absolute page addresses and the ability to copy text from the pages for responding to emails, something that is not possible with a flash site.  I moved to another site host, but that will be for a future post.</p>
<p>Setting up a site at Wix was somewhat easy.  Once you have your account created you can choose from various templates and modify the look from there, or you can build your site up from a blank page.  The free site will have a tag line for the Wix service, but they offer a premium upgrade that will remove the tag and open additional features.  Overall I found the service to be very good and the end result was very professional and attractive.  If you are looking to build a flash site on the cheap and don&#8217;t care about having absolute web addressing then Wix could be for you.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Wix]]></title>
<link>http://puntosdemira.wordpress.com/2009/11/10/wix/</link>
<pubDate>Tue, 10 Nov 2009 22:26:37 +0000</pubDate>
<dc:creator>patry06</dc:creator>
<guid>http://puntosdemira.wordpress.com/2009/11/10/wix/</guid>
<description><![CDATA[Finalmente, después de haber investigado todas las páginas creemos que la más completa, fácil de uti]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Finalmente, después de haber investigado todas las páginas creemos que la más completa, fácil de utilizar y además con mayores posibilidades creativas es <a href="http://www.wix.com/Lavidaennegro/tribus-urbanas?wixComputerID=aAmVtCtHGnUHaWwlDnA784g%2B2en4DkN28MbJETBxrilfbe8vhgiKlE%2F0NdV2soCia0%2F2I55h0zYjckzNhTNSNQ%3D%3D&#38;gu%5Fid=85ac4fc6%2Df8fe%2D4346%2Da2e0%2Ddabbd26a57ec&#38;partner%5Fid=WMGs4POB1ko%2Da&#38;orgDocID=5Fgn2S9Rf6k%2Da&#38;wsess=eE145%5F4l09ubJNvA7EJ04K%3BdBohLaMxmsMHDReTGyQk21Yh0gcjN%5FiwMZh0rsqc2ipCT25N9Xgg%2Da&#38;experiment%5Fid=empty" target="_blank">Wix</a>. Esperamos vuestra opinión. Os dejo aquí la URL con lo que hemos hecho para probarla aunque también la hemos incorporado a la entrada anterior.</p>
<p>Ahora abría que trabajarlo más y ponerlo más atractivo porque lo que hemos hecho ha sido muy por encima simplemente para probar.</p>
<p>Por cierto, aprovecho para anunciaros que os he enviado un mail con la contraseña de wix por si hace falta.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Automating Web Deployment using Windows Installer XML (WIX)]]></title>
<link>http://ranjithk.wordpress.com/2009/11/06/automating-web-deployment-using-windows-installer-xml-wix/</link>
<pubDate>Fri, 06 Nov 2009 07:32:21 +0000</pubDate>
<dc:creator>Ranjith</dc:creator>
<guid>http://ranjithk.wordpress.com/2009/11/06/automating-web-deployment-using-windows-installer-xml-wix/</guid>
<description><![CDATA[Deployment of web sites is usually done by copying the compiled ASP.NET web site files into the targ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><b>D</b>eployment of web sites is usually done by copying the compiled ASP.NET web site files into the target virtual directory by using Copy Web Site or Publish web site features in Visual Studio and by manually creating and configuring the Web Site in IIS. </p>
<p>Though this method is simple, it involves lot of manual effort in verifying the Pre Requisites, Creating/Modifying or Configuring the Web sites in IIS. We can automate this whole process by building a simple Windows Installer Package using WIX in the Visual Studio itself while working on the development of your site.</p>
<p>The installer using WIX can</p>
<p>· Check for all the Pre Requisites (OS Version, IIS version, and .NET Framework etc..) before applying any changes</p>
<p>· Create/Modify the web site, Application Pool and configures it in IIS</p>
<p>· Provide the features like Install, Un-Install, Repair and change to the site</p>
<p>· Remove everything that is created (Web Site, Physical Directories) on Un Install and leaves the target server in clean state with just few button clicks</p>
<p>· Rollback all the changes in case of failure</p>
<p><b><u></u></b></p>
<p><b><u>Create a Sample Web Site:</u></b></p>
<p>Let’s create a simple website and add a Web Deployment Project to the Web Site. We will build the installer package to deploy this web site on to the target server. </p>
<p><a href="http://ranjithk.files.wordpress.com/2009/11/clip_image002.jpg"><img style="display:inline;border-width:0;" title="clip_image002" border="0" alt="clip_image002" src="http://ranjithk.files.wordpress.com/2009/11/clip_image002_thumb.jpg?w=244&#038;h=227" width="244" height="227" /></a><b></b></p>
<p>Fig 1: Sample web site and its Web Deployment project</p>
<p>Right click on Web Deployment project and open the Property pages to set up the output location for our compiled web site files. Leave the default value which is set to project output folder. This location we will be the source for our installer package to pick up the required files while building the installer package.</p>
<p><a href="http://ranjithk.files.wordpress.com/2009/11/clip_image004.jpg"><img style="display:inline;border-width:0;" title="clip_image004" border="0" alt="clip_image004" src="http://ranjithk.files.wordpress.com/2009/11/clip_image004_thumb.jpg?w=244&#038;h=147" width="244" height="147" /></a><b></b></p>
<p>Fig 2: Web Deployment Project property pages</p>
<p><b></b></p>
<p><a href="http://ranjithk.files.wordpress.com/2009/11/clip_image006.jpg"><img style="display:inline;border-width:0;" title="clip_image006" border="0" alt="clip_image006" src="http://ranjithk.files.wordpress.com/2009/11/clip_image006_thumb.jpg?w=244&#038;h=66" width="244" height="66" /></a></p>
<p>Fig 3: Files in Web Deployment project output folder</p>
<p><u></u></p>
<p><b><u>Authoring Installer for our Sample Web Site:</u></b></p>
<p>We need to install the WIX 3.0 version from <a href="http://sourceforge.net/projects/wix/files/">http://sourceforge.net/projects/wix/files/</a> to add the WIX plug-in to the Visual Studio. (Please use WIX documentation for basic understanding on Directory, Component and Feature elements in WIX source files)</p>
<p>Now add the new WIX project to our solution. After you add it the solution looks like this</p>
<p><a href="http://ranjithk.files.wordpress.com/2009/11/clip_image008.jpg"><img style="display:inline;border-width:0;" title="clip_image008" border="0" alt="clip_image008" src="http://ranjithk.files.wordpress.com/2009/11/clip_image008_thumb.jpg?w=221&#038;h=244" width="221" height="244" /></a></p>
<p><b>Fig 4: The web site and the set up project together in one solution</b></p>
<p>The Product.wxs is the WIX Source File which we will modify shortly to define our package components. Before that we need to add reference to <b>WixIISExtension.dll</b> and <b>WixUtilExtension.dll</b> to our WIX Project. Now open the Product.wxs and add the following xml namespaces to get the intelliscenece for WIX IIS and other elements.</p>
<pre class="code"><span style="color:blue;">&#60;</span><span style="color:#a31515;">Wix </span><span style="color:red;">xmlns</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">http://schemas.microsoft.com/wix/2006/wi</span>&#34;
     <span style="color:red;">xmlns:iis</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">http://schemas.microsoft.com/wix/IIsExtension</span>&#34;
     <span style="color:red;">xmlns:util</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">http://schemas.microsoft.com/wix/UtilExtension</span>&#34;<span style="color:blue;">&#62;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><b></b></p>
<p>The default directory structure defined in WIX source file maps to “C:\Program Files\ApplicationName\”<b> </b>which specifies the target install location for our package i.e. the location on target server which will have all the output files from our MyWebSite_deploy project (See Fig 3). </p>
<p>Now add the following under the INSTALLLOCATION directory to define our first component</p>
<pre class="code"><span style="color:blue;">&#60;!-- </span><span style="color:green;">root level files –</span><span style="color:blue;">&#62;</span></pre>
<pre class="code"><span style="color:blue;">&#60;</span><span style="color:#a31515;">Component </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MySite_root_Files</span>&#34; <span style="color:red;">Guid</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">E06FD7E9-8360-4e78-B10F-3F53E88FE1FB</span>&#34;<span style="color:blue;">&#62;
 &#60;</span><span style="color:#a31515;">File </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MySite_Default_aspx</span>&#34; <span style="color:red;">Source</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">$(var.SolutionDir)\MyWebSite_deploy\$(var.Configuration)</span></pre>
<pre class="code"><span style="color:blue;">                                        \Default.aspx</span>&#34;<span style="color:blue;">/&#62;
 &#60;</span><span style="color:#a31515;">File </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MySite_Web_Config</span>&#34; <span style="color:red;">Source</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">$(var.SolutionDir)\MyWebSite_deploy\$(var.Configuration)\Web.Config</span>&#34;<span style="color:blue;">/&#62;
&#60;/</span><span style="color:#a31515;">Component</span><span style="color:blue;">&#62;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>The component <b>MySite_root_Files</b> defines all the files that are directly needs to be copied under the INSTALLLOCATION. The &#60;File/&#62; element specifies the actual file that needs to be copied and the source attribute specifies the complete source path of the file.<b></b></p>
<pre class="code"><span style="color:red;">Source</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">$(var.SolutionDir)\MyWebSite_deploy\$(var.Configuration)\Default.aspx</span>&#34;</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><b>$(var.SolutionDir)</b> is a WIX pre-processor which gives the Solution folder path to the WIX compiler</p>
<p><b>$(var.Configuration)</b> is another pre-processor which specifies the Active Configuration of the solution (i.e. Debug &#124; Release)</p>
<p>Along with the files Default.aspx and Web.Config we also have bin folder in project output directory which needs to be created under the install location. So create the folder mapping \INSTALLLOCATION\bin by adding the directory element like below under the INSTALLLOCATION directory. And define the component and file or Directory element for each of the files and directories under the bin folder as we have done for INSTALLLOCATION directory. <b></b></p>
<pre class="code"><span style="color:blue;">&#60;!-- </span><span style="color:green;">bin directory –</span><span style="color:blue;">&#62;</span></pre>
<pre class="code"><span style="color:blue;"> &#60;</span><span style="color:#a31515;">Directory </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MySite_bin_Directory</span>&#34; <span style="color:red;">Name</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">bin</span>&#34;<span style="color:blue;">&#62;
   &#60;</span><span style="color:#a31515;">Component </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MySite_bin_Files</span>&#34; <span style="color:red;">Guid</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">2ECC2543-856E-4ca7-8DB3-D1657245A41E</span>&#34;<span style="color:blue;">&#62;
     &#60;</span><span style="color:#a31515;">File </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MYSite_MySite_deploy_dll</span>&#34; <span style="color:red;">Source</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">$(var.SolutionDir)\MyWebSite_deploy\$(var.Configuration)</span></pre>
<pre class="code"><span style="color:blue;">             \bin\MyWebSite_deploy.dll</span>&#34;<span style="color:blue;">&#62;
      &#60;/</span><span style="color:#a31515;">File</span><span style="color:blue;">&#62;
    &#60;/</span><span style="color:#a31515;">Component</span><span style="color:blue;">&#62;
  &#60;/</span><span style="color:#a31515;">Directory</span><span style="color:blue;">&#62;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>The same way we can add any number of directories and files mapping from source to the target location. </p>
<p><b><u>Setting up IIS web site:</u></b></p>
<p>So far we have seen how to move files from source to the target location by using the Directory, File and Component elements. But how can we configure IIS? </p>
<p>WIX has an API or an Extension (WIXIISExtension.dll) to interact with IIS. Remember that we have already added reference to this to our WIX Project. Add another component under the INSTALLLOCATION directory to define the configuration to create a web site in IIS.</p>
<div align="left">
<pre class="code"><span style="color:blue;"></span></pre>
<pre class="code"><span style="color:blue;">&#60;</span><span style="color:#a31515;">Component </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MyWebSite_IISConfigure</span>&#34; <span style="color:red;">Guid</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">5146762F-0E78-47d2-A105-6E18E2993619</span>&#34; <span style="color:red;">KeyPath</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">yes</span>&#34;<span style="color:blue;">&#62;
  &#60;</span><span style="color:#a31515;">util:User </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MyWebSite_AppPoolUser</span>&#34; <span style="color:red;">Name</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">domain\username</span>&#34; <span style="color:red;">Password</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">pwd</span>&#34;<span style="color:blue;">/&#62;

  &#60;!-- </span><span style="color:green;">define application pool </span><span style="color:blue;">--&#62;
  &#60;</span><span style="color:#a31515;">iis:WebAppPool </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MyWebSite_AppPool</span>&#34; <span style="color:red;">Name</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MyWebSiteApplication</span>&#34;
                  <span style="color:red;">Identity</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">other</span>&#34; <span style="color:red;">User</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MyWebSite_AppPoolUser</span>&#34;
                  <span style="color:red;">RecycleMinutes</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">120</span>&#34; <span style="color:blue;">/&#62;

  &#60;!-- </span><span style="color:green;">define web site </span><span style="color:blue;">--&#62;
  &#60;</span><span style="color:#a31515;">iis:WebSite </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MyWebSite_Website</span>&#34; <span style="color:red;">Description</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MyWebSite</span>&#34;
               <span style="color:red;">AutoStart</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">yes</span>&#34; <span style="color:red;">StartOnInstall</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">yes</span>&#34; <span style="color:red;">ConfigureIfExists</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">yes</span>&#34;
               <span style="color:red;">Directory</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">INSTALLLOCATION</span>&#34; <span style="color:red;">ConnectionTimeout</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">360</span>&#34; <span style="color:blue;">&#62;

       &#60;</span><span style="color:#a31515;">iis:WebAddress </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MYSite_Bindings</span>&#34; <span style="color:red;">IP</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">xx.xx.x.xxx</span>&#34; <span style="color:red;">Port</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">80</span>&#34; <span style="color:red;">Header</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MyWebSite</span>&#34; <span style="color:blue;">/&#62;
       &#60;</span><span style="color:#a31515;">iis:WebApplication </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MY_WebApp</span>&#34; <span style="color:red;">Name</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MY Web Site</span>&#34; <span style="color:red;">WebAppPool</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MyWebSite_AppPool</span>&#34; </pre>
<pre class="code">                           <span style="color:red;">ScriptTimeout</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">360</span>&#34; <span style="color:blue;">/&#62;
       &#60;</span><span style="color:#a31515;">iis:WebDirProperties </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MyWebSite_Properties</span>&#34; <span style="color:red;">AnonymousAccess</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">yes</span>&#34; <span style="color:red;">WindowsAuthentication</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">no</span>&#34; </pre>
<pre class="code">              <span style="color:red;">DefaultDocuments</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">Default.aspx</span>&#34; <span style="color:blue;">/&#62;
  &#60;/</span><span style="color:#a31515;">iis:WebSite</span><span style="color:blue;">&#62;
&#60;/</span><span style="color:#a31515;">Component</span><span style="color:blue;">&#62;
</span></pre>
</div>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>Most of the elements and their attributes in this component are self descriptive.</p>
<p>&#60;Util:User/&#62; define the domain user which can be referenced anywhere in the source file using the Id MyWebSite_AppPoolUser<b>. </b><b></b></p>
<p>&#60;iis:WebAppPool/&#62; creates the application pool with the name MyWebSiteApplication. The attribute Identity = “Other” specifies that this application pool uses Custom account for identity. And the user attribute specifies the ID of the domain\username created anywhere in the source file using &#60;Util:User/&#62;</p>
<p>&#60;iis:WebSite/&#62; and its child elements &#60;iis:WebAddress/&#62;, &#60;iis:WebApplication/&#62; and &#60;iis:WebDirProperties/&#62; define the complete web site in IIS. The Directory attribute of Web Site element is set to INSTALLLOCATION i.e. C:\Program Files\MyWebSite\ which is our target location to copy the compiled ASP.NET files to run our Web Site.</p>
<p>The bindings IP, PORT and Host Header for our web site are specified by &#60;iis:WebAddress/&#62; element, and the mapping between the application pool MyWebSite_AppPool and the site is defined by &#60;iis:WebApplication/&#62; . The Default Dcoument and the Authentication are specified by &#60;iis:WebDirProperties/&#62;.</p>
<p>So we have defined all the components (MySite_root_Files, MySite_bin_Directory, and MyWebSite_IISConfigure) that need to be installed on to the target server by our installer. But we know that every installer needs at least one feature which is a set of components that define one complete install feature i.e. our Web Site in this case. We have to define it using the feature element.</p>
<pre class="code">  <span style="color:blue;">&#60;</span><span style="color:#a31515;">Feature </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">ProductFeature</span>&#34; <span style="color:red;">Title</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">My WebSite</span>&#34; <span style="color:red;">Level</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">1</span>&#34;<span style="color:blue;">&#62;
     &#60;!-- </span><span style="color:green;">add the components comprise of this feature </span><span style="color:blue;">--&#62;
     &#60;</span><span style="color:#a31515;">ComponentRef </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MySite_root_Files</span>&#34;<span style="color:blue;">/&#62;
     &#60;</span><span style="color:#a31515;">ComponentRef </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MySite_bin_Files</span>&#34;<span style="color:blue;">/&#62;
     &#60;</span><span style="color:#a31515;">ComponentRef </span><span style="color:red;">Id</span><span style="color:blue;">=</span>&#34;<span style="color:blue;">MyWebSite_IISConfigure</span>&#34;<span style="color:blue;">/&#62;
  &#60;/</span><span style="color:#a31515;">Feature</span><span style="color:blue;">&#62;
</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>That is it. We have completed authoring the installer package for our Web Site. Upon building the entire solution again our Set up project reads the compiled ASP.NET files from our Web Deployment Project out put folder and embeds them into a Windows Installer package which is created in the out put directory of our setup project.</p>
<p><a href="http://ranjithk.files.wordpress.com/2009/11/clip_image0024.jpg"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://ranjithk.files.wordpress.com/2009/11/clip_image0024_thumb.jpg?w=244&#038;h=71" width="244" height="71" /></a></p>
<p>Fig 5: Installer package in Setup project output location</p>
<p><b></b></p>
<p><b></b></p>
<p><b></b></p>
<p><b></b></p>
<p>We just need to copy this installer package to the target server and double click and wait for the job to be done.</p>
<p><b><a href="http://ranjithk.files.wordpress.com/2009/11/clip_image0044.jpg"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="clip_image004[4]" border="0" alt="clip_image004[4]" src="http://ranjithk.files.wordpress.com/2009/11/clip_image0044_thumb.jpg?w=244&#038;h=101" width="244" height="101" /></a></b></p>
<p>Fig 6: while installing our setup file<strong> </strong></p>
<p><b></b></p>
<p>Once the install is complete, open the IIS Manager to see that our web site running.</p>
<p><b><u></u></b></p>
<p><b><u>Summary:</u></b></p>
<p><b></b>The web deployment using WIX is simple, flexible, and gives a overall great web deployment experience. </p>
<p>Hope this gives you a start-up point</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fase II del proyecto]]></title>
<link>http://comm5.wordpress.com/2009/11/05/fase-ii-del-proyecto/</link>
<pubDate>Thu, 05 Nov 2009 15:27:28 +0000</pubDate>
<dc:creator>RGM</dc:creator>
<guid>http://comm5.wordpress.com/2009/11/05/fase-ii-del-proyecto/</guid>
<description><![CDATA[ESTUDIO DE PROYECTOS SIMILARES Y DOCUMENTACIÓN. DECISIÓN SOBRE PLATAFORMAS. REVISIÓN DE SINOPSIS. Gr]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>ESTUDIO DE PROYECTOS SIMILARES Y DOCUMENTACIÓN. DECISIÓN SOBRE PLATAFORMAS. REVISIÓN DE SINOPSIS.</strong></p>
<p>Grupo 1: Vancouver 2010<br />
Grupo 2: La cerveza en España<br />
Grupo 3: Puntos de mira<br />
Grupo 4: Un proyecto de futuro<br />
Grupo 5: D.O. Navarrico<br />
Grupo 6: Moda en los 90<br />
Grupo 7: Rock in Río Madrid 2010</p>
<p><strong>1) Coordinador</strong>:</p>
<ul>
<li>Revisa el planteamiento del proyecto con el profesor y traslada al grupo los comentarios y la nota.</li>
<li>Elabora el calendario de trabajo del grupo detallando las tareas y sus fechas de finalización.</li>
<li><strong> </strong>Revisa la primera versión de la <a href="http://docs.google.com/View?id=dhkcb625_376cfrzrxgf" target="_blank">ficha de planteamiento</a> &#124; <a href="http://docs.google.com/View?id=dhkcb625_378c7jnk9cq" target="_blank">Project form</a> y la actualiza en el blog. Para ello, deberá coordinarse con el resto de compañeros y recopilar los materiales escritos por ellos en el blog.</li>
</ul>
<p><strong>2) Área técnica y artística</strong>:</p>
<p>Se prueban las distintas plataformas sugeridas: <a href="http://sites.google.com/">Google Sites</a>, <a href="http://www.jimdo.com/">Jimdo</a>, <a href="http://wordpress.com/">WordPress</a>, <a href="http://www.weebly.com/">Weebly</a> y <a href="http://www.wix.com/">Wix</a>.  En la ficha de planteamiento debe indicarse la URL de cada prueba. En el blog debe escribirse un post con las características de la plataforma elegida y debe explicarse por qué se ajusta al tipo de proyecto en marcha.</p>
<p><strong> </strong></p>
<p><strong>3) Área de redacción</strong>:</p>
<p style="padding-left:30px;"><strong>3.1) </strong>Se localizan 10 webs de contenido similar al proyecto y se escribe un post comentando las cuestiones relevantes de cada una de ellas para tenerlas en cuenta en el proyecto.</p>
<p style="padding-left:30px;"><strong>3.2.)</strong> Se elabora una lista exhaustiva de fuentes de dónde puede obtenerse información y se publica en un post con los comentarios pertinentes.</p>
<p><strong> </strong></p>
<p><strong>4) Área artística:</strong></p>
<p>Se localizan objetos multimedia con el tipo de licencia que permita usarlos (Creative Commons licenses).  Abrir cuentas en <a href="http://www.flickr.com/">Flickr</a> y <a href="http://www.youtube.com/">YouTube</a> para ir almacenando allí los objetos encontrados. Escribir un post indicando las URLs y comentando a los compañeros los materiales que se van seleccionando y para que pueden emplearse. No debe olvidarse apuntar la autoría de cada imagen ya que ese dato deberá estar en el proyecto.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to Make a Website]]></title>
<link>http://thechrisdsblog.wordpress.com/2009/11/04/26-how-to-make-a-website/</link>
<pubDate>Wed, 04 Nov 2009 19:05:42 +0000</pubDate>
<dc:creator>chris ds</dc:creator>
<guid>http://thechrisdsblog.wordpress.com/2009/11/04/26-how-to-make-a-website/</guid>
<description><![CDATA[The first thing to do is create a name for your brand new empire. Before you get to excited, you nee]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The first thing to do is create a name for your brand new empire. Before you get to excited, you need to check if it already exists by typing the name and trying every possible ending (e.g. com, .co.uk, .nr, .net, .gov, .org). When you are sure that your name doesn&#8217;t exist then it is time to start creating!</p>
<p>First you need to find a secure and professional web hosting website. Here are some good websites:</p>
<ol>
<li><a title="Yola" href="http://www.yola.com/" target="_self">http://www.yola.com/</a></li>
<li><a title="Webs" href="http://www.webs.com/" target="_self">http://www.webs.com/</a></li>
<li><a title="Moon Fruit" href="http://www.moonfruit.com/" target="_self">http://www.moonfruit.com/</a></li>
<li><a href="http://www.wix.com/">http://www.wix.com/</a></li>
</ol>
<p>When you have decided what website you want to use (it doesn&#8217;t necessarily have to be any I have selected) you can now start to build your site. It should be easy considering their main aim is to make it simple for you to make a website. When you are finished you need to publish it. Whenever you add something new to your website, update your fans by creating a blog. But remember, always update your site when you add something new.</p>
<p>If you want to take your website to the next level (you may have noticed that your site has the website you made it on at the end) then you can pay to have your own domain name.</p>
<p><strong>What&#8217;s that?</strong></p>
<p>It&#8217;s a website without the website you made it on at the end of it (e.g. www.example-of-a-domain-name.com)</p>
<p>Once your empire starts growing, you&#8217;ll want to grow with it so create a logo. An excelent website to make this on is:</p>
<p><a href="http://www.picnik.com/">http://www.picnik.com/</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cori Elle Site Launch !!!]]></title>
<link>http://corprahlanfrey.wordpress.com/2009/11/01/cori-elle-site-launch/</link>
<pubDate>Sun, 01 Nov 2009 16:42:07 +0000</pubDate>
<dc:creator>Corprah Lanfrey</dc:creator>
<guid>http://corprahlanfrey.wordpress.com/2009/11/01/cori-elle-site-launch/</guid>
<description><![CDATA[I was talking to a friend of mine last night and I asked him for his website link to add him to my H]]></description>
<content:encoded><![CDATA[I was talking to a friend of mine last night and I asked him for his website link to add him to my H]]></content:encoded>
</item>
<item>
<title><![CDATA[ryan(s)pace Flash Site]]></title>
<link>http://ryanspace.wordpress.com/2009/10/31/ryanspace-flash-site/</link>
<pubDate>Sun, 01 Nov 2009 05:59:07 +0000</pubDate>
<dc:creator>Ryan</dc:creator>
<guid>http://ryanspace.wordpress.com/2009/10/31/ryanspace-flash-site/</guid>
<description><![CDATA[I made a Flash site for this place on Wix.com. It&#8217;s very complicated (from the &#8220;creation]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I made a Flash site for this place on Wix.com. It&#8217;s very complicated (from the &#8220;creation&#8221; side), and it&#8217;s not too good right now. There&#8217;s a comments box, contact form, a RSS feed reader for ryan(s)pace, and more to come in the near future. You can visit the Flash site at www.mainspace.tk.</p>
<p>Ryan</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Simulating VS.net's MSI InstallURL property with WiX]]></title>
<link>http://cticoder.wordpress.com/2009/10/24/simulating-vs-nets-msi-installurl-property-with-wix/</link>
<pubDate>Sat, 24 Oct 2009 06:09:17 +0000</pubDate>
<dc:creator>Michael Bray</dc:creator>
<guid>http://cticoder.wordpress.com/2009/10/24/simulating-vs-nets-msi-installurl-property-with-wix/</guid>
<description><![CDATA[I recently converted several installers from VS.net to WiX.  In one of those installers, I was using]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I recently converted several installers from VS.net to WiX.  In one of those installers, I was using a Registry Search condition to check to see if MSXML6 was installed, since the application requires it.  If it wasn’t installed, I was using Visual Studio’s InstallURL property to redirect the user to the Microsoft download page for the package so they could download and install it.</p>
<p>WiX doesn’t appear to have an InstallURL property available by default, but you can simulate it with some custom actions.   Along the way I learned quite a bit about how WiX structures CustomActions, and experienced quite a bit of frustration getting it to work.  The first step to simulating the InstallURL capability is to set up a Property that searches the registry for the MSXML key:</p>
<pre class="code"><span style="color:blue;">&#60;</span><span style="color:#a31515;">Property </span><span style="color:red;">Id</span><span style="color:blue;">=</span>"<span style="color:blue;">MSXML6</span>"<span style="color:blue;">&#62;
    &#60;</span><span style="color:#a31515;">RegistrySearch </span><span style="color:red;">Id</span><span style="color:blue;">=</span>"<span style="color:blue;">MSXML6Search</span>" <span style="color:red;">Root</span><span style="color:blue;">=</span>"<span style="color:blue;">HKCR</span>" <span style="color:red;">Key</span><span style="color:blue;">=</span>"<span style="color:blue;">Msxml2.DOMDocument.6.0</span>" <span style="color:red;">Type</span><span style="color:blue;">=</span>"<span style="color:blue;">raw</span>" <span style="color:blue;">/
&#60;/</span><span style="color:#a31515;">Property</span><span style="color:blue;">&#62;
</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>This code is very standard code for polling a registry value – no surprises here.  The next step is to build in two custom actions that both tie to this property:</p>
<pre class="code"><span style="color:blue;">&#60;</span><span style="color:#a31515;">Property </span><span style="color:red;">Id</span><span style="color:blue;">=</span>"<span style="color:blue;">cmd</span>" <span style="color:red;">Value</span><span style="color:blue;">=</span>"<span style="color:blue;">cmd.exe</span>" <span style="color:blue;">/&#62;
&#60;</span><span style="color:#a31515;">CustomAction </span><span style="color:red;">Id</span><span style="color:blue;">=</span>"<span style="color:blue;">OpenMSXML6Download</span>" <span style="color:red;">Property</span><span style="color:blue;">=</span>"<span style="color:blue;">cmd</span>"
    <span style="color:red;">ExeCommand</span><span style="color:blue;">=</span>"<span style="color:blue;">/c start http://www.microsoft.com/downloads/details.aspx?FamilyID=993c0bcf-3bcf-4009-be21-27e85e1857b1</span>"
    <span style="color:red;">Execute</span><span style="color:blue;">=</span>"<span style="color:blue;">oncePerProcess</span>"
    <span style="color:red;">Return</span><span style="color:blue;">=</span>"<span style="color:blue;">check</span>" <span style="color:blue;">/&#62;
&#60;</span><span style="color:#a31515;">CustomAction </span><span style="color:red;">Id</span><span style="color:blue;">=</span>"<span style="color:blue;">OpenMSXML6DownloadError</span>" <span style="color:red;">Error</span><span style="color:blue;">=</span>"<span style="color:#0000ff;">MSXML6 must be installed first.</span>" <span style="color:blue;">/&#62;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>The first Custom Action executes a command window, and starts the URL in the ExeCommand.  The important and confusing thing to note here is that the actual command to execute is put in a property, and any parameters are put in “ExeCommand” which is very poorly named.  The parameters in this case are a trick to start up the default browser to the desired URL.  The minor drawback to this is that you see the command window briefly.  I think there is a better way to do this that I’ve seen but not yet tried that involves doing a registry search to locate the default browser executable and then calling it directly.</p>
<p>The second custom action simply opens an Error dialog and exits the installation.</p>
<p>The third piece to this puzzle is to insert the Custom Action into the InstallExecuteSequence:</p>
<pre class="code"><span style="color:blue;">&#60;</span><span style="color:#a31515;">InstallExecuteSequence</span><span style="color:blue;">&#62;
</span><span style="color:blue;">    &#60;!-- </span><span style="color:green;">Takes user to MSXML6 download page to be installed </span><span style="color:blue;">--&#62;
    &#60;</span><span style="color:#a31515;">Custom </span><span style="color:red;">Action</span><span style="color:blue;">=</span>"<span style="color:blue;">OpenMSXML6Download</span>" <span style="color:red;">After</span><span style="color:blue;">=</span>"<span style="color:blue;">AppSearch</span>"<span style="color:blue;">&#62;</span>NOT MSXML6 AND Not Installed<span style="color:blue;">&#60;/</span><span style="color:#a31515;">Custom</span><span style="color:blue;">&#62;
    &#60;</span><span style="color:#a31515;">Custom </span><span style="color:red;">Action</span><span style="color:blue;">=</span>"<span style="color:blue;">OpenMSXML6DownloadError</span>" <span style="color:red;">After</span><span style="color:blue;">=</span>"<span style="color:blue;">OpenMSXML6Download</span>"<span style="color:blue;">&#62;</span>NOT MSXML6 AND Not Installed<span style="color:blue;">&#60;/</span><span style="color:#a31515;">Custom</span><span style="color:blue;">&#62;
&#60;/</span><span style="color:#a31515;">InstallExecuteSequence</span><span style="color:blue;">&#62;
</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>One critical piece of information here is to note the “After=AppSearch”.  When I was first trying to get this to work, I dealt with an huge amount of frustration because I had set this to “After=FindRelatedProducts”.  I had chosen this because although I don’t show it above, this particular WiX install also enables the app to install over itself and prevents downgrading, and in that scenario, that’s the After value that you use.  My assumption that it would work to simulate the InstallURL was a very bad one.  The problem is that FindRelatedProducts occurs before AppSearch, which is where the RegistrySearch property is evaluated.  As a result, the MSXML6 property was NEVER defined and I was redirecting to the download page even if MSXML6 was installed.  (BTW this is a good reason to download and install the Windows SDK tools – I only discovered this because I bothered to open the MSI in Orca!)</p>
<p>With these three pieces in place, the installer now correctly detects MSXML6 and will redirect the user to the download page (and terminate) if it isn’t installed.  Note, however, that as presented above, the user may have to go thru the majority of the UI install before this happens.  If you don’t want the user to see any of the UI before the check and redirect takes place, duplicate the InstallExecuteSequence lines into the InstallUISequence section of the WXS file.  I’ve been told it’s somewhat of a bad practice, but that does fall more in line with the way the Visual Studio InstallURL works.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[UI Custom Action Guidelines]]></title>
<link>http://legalizeadulthood.wordpress.com/2009/10/23/ui-custom-action-guidelines/</link>
<pubDate>Sat, 24 Oct 2009 01:50:13 +0000</pubDate>
<dc:creator>legalize</dc:creator>
<guid>http://legalizeadulthood.wordpress.com/2009/10/23/ui-custom-action-guidelines/</guid>
<description><![CDATA[Windows Installer provides a rich set of standard actions that handle the typical needs of an instal]]></description>
<content:encoded><![CDATA[Windows Installer provides a rich set of standard actions that handle the typical needs of an instal]]></content:encoded>
</item>
<item>
<title><![CDATA[Site Oficial "Ziphcomics.net" online.]]></title>
<link>http://luisperes.wordpress.com/2009/10/24/site-oficial-ziphcomics-net-online/</link>
<pubDate>Sat, 24 Oct 2009 00:27:15 +0000</pubDate>
<dc:creator>alcaminhante</dc:creator>
<guid>http://luisperes.wordpress.com/2009/10/24/site-oficial-ziphcomics-net-online/</guid>
<description><![CDATA[Depois de muitos meses a pensar no assunto, posso informar que o website oficial das Aventuras do Pr]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a title="www.ziphcomics.net" href="http://www.ziphcomics.net" target="_blank"><img class="alignnone size-full wp-image-268" title="website_novo_blog" src="http://luisperes.wordpress.com/files/2009/10/website_novo_blog.jpg" alt="website_novo_blog" width="350" height="221" /></a></p>
<p>Depois de muitos meses a pensar no assunto, posso informar que o website oficial das Aventuras do Príncipe Ziph já se encontra online em <a title="Novo Website Ziph" href="http://www.ziphcomics.net" target="_blank">http://www.ziphcomics.net</a> .<br />
Ainda falta completar muitas secções mas a partir de hoje podem ir espreitando o local, pois em breve irei colocar por lá não apenas tudo o que se relaciona com o historial do projecto, mas também muitos icones, wallpapers e video tutorials sobre banda desenhada.<br />
Espalhem o link pois agradeço toda a publicidade. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>&#8211;//&#8211;</p>
<p><span style="color:#3366ff;"><em>After many months thinking about it, i can now say that the oficial website for The Adventures of Prince Ziph is back online at</em></span> <a title="New Ziphcomics Website" href="http://www.ziphcomics.net" target="_blank">http://www.ziphcomics.net</a> .<br />
<em><span style="color:#3366ff;">Altough at this time is still a bit incomplete, soon you´ll be able to read the english version of the story, download the free pdf, get wallpapers and icons and see some video tutorials about my method of drawing and painting comics.<br />
So please spread my link around and visit often. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </span></em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Branching Wizard Sequences With WiX]]></title>
<link>http://legalizeadulthood.wordpress.com/2009/10/22/branching-wizard-sequences-with-wix/</link>
<pubDate>Thu, 22 Oct 2009 17:42:27 +0000</pubDate>
<dc:creator>legalize</dc:creator>
<guid>http://legalizeadulthood.wordpress.com/2009/10/22/branching-wizard-sequences-with-wix/</guid>
<description><![CDATA[Wizard dialog sequences are common in Windows Installer packages as they lead the user through a ser]]></description>
<content:encoded><![CDATA[Wizard dialog sequences are common in Windows Installer packages as they lead the user through a ser]]></content:encoded>
</item>
<item>
<title><![CDATA[Cows...]]></title>
<link>http://undetecteddirector.wordpress.com/2009/10/15/cows/</link>
<pubDate>Thu, 15 Oct 2009 01:44:34 +0000</pubDate>
<dc:creator>Diego Huyke</dc:creator>
<guid>http://undetecteddirector.wordpress.com/2009/10/15/cows/</guid>
<description><![CDATA[Today, October 14, I realized I wanted to make an entry on cows&#8230; So here it goes: Cows have 4 ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em><strong>Today, October 14, I realized I wanted to make an entry on cows&#8230; So here it goes</strong></em><strong>:</strong></p>
<p>Cows have 4 legs and are interesting creatu-</p>
<p><em><strong>After 5 minutes of thinking I realized that there&#8217;s not a whole lot I can say about cows so I abandoned the idea like Michael Jackson abandoned his dignity when he did the crotch grab:</strong></em></p>
<p><em><span style="font-style:normal;">Today, after giving up on writing about cows, I decided to make my own website. The answer is yes. Yes, there is a difference between a blog and a website. A blog is like a journal, whereas a website is updated less often and is more, beautiful and can be more customizable. The idea is to destroy the quirky &#8220;works&#8221; page on my blog, and just put a link to my official website. I tried different website-creating websites (sounds weird) I realized that webs.com is for 40-year-old stay at home moms that think it&#8217;s fun to upload pictures of their children and think it&#8217;s cool (it&#8217;s not very different from my own sight though). Later today I finished my site, here it is: <a href="http://www.huyke.co.cc/">my website</a>. (huyke.co.cc)</span></em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[My own site]]></title>
<link>http://paul1e.wordpress.com/2009/09/28/my-own-site/</link>
<pubDate>Mon, 28 Sep 2009 20:32:25 +0000</pubDate>
<dc:creator>paul1e</dc:creator>
<guid>http://paul1e.wordpress.com/2009/09/28/my-own-site/</guid>
<description><![CDATA[I officially decided to make a website about me, my art, my cooking, and any other project that may ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I officially decided to make a website about me, my art, my cooking, and any other project that may come along. <a href="http://www.wix.com/paul1_e/paul-Espinoza" target="_blank">Here is the site so far, it is still a work-in-progress</a>. You can also get smaller updates on my <a href="twitter.com/paul1_e" target="_blank">twitter</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Kendi Flash Sitenizi Yapın]]></title>
<link>http://yavuzsc.wordpress.com/2009/09/23/kendi-flash-sitenizi-yapin/</link>
<pubDate>Wed, 23 Sep 2009 20:39:18 +0000</pubDate>
<dc:creator>Yavuz Selim ÇATALBAŞ</dc:creator>
<guid>http://yavuzsc.wordpress.com/2009/09/23/kendi-flash-sitenizi-yapin/</guid>
<description><![CDATA[Uzun bir aradan sonra güzel bir siteyi önerdiğimi iddia ederek geri dönüyorum. Kişisel bir isteniz o]]></description>
<content:encoded><![CDATA[Uzun bir aradan sonra güzel bir siteyi önerdiğimi iddia ederek geri dönüyorum. Kişisel bir isteniz o]]></content:encoded>
</item>
<item>
<title><![CDATA[Wix.com - Ideas For The Real Estate Pro]]></title>
<link>http://retechworld.wordpress.com/2009/09/23/wix-com-ideas-for-the-real-estate-pro/</link>
<pubDate>Wed, 23 Sep 2009 07:43:43 +0000</pubDate>
<dc:creator>Brad</dc:creator>
<guid>http://retechworld.wordpress.com/2009/09/23/wix-com-ideas-for-the-real-estate-pro/</guid>
<description><![CDATA[Wix.com &#8211; Ideas For Real Estate Pro Wix.com hosts Flash and Fancy Modern Day Websites. You can]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Wix.com &#8211; Ideas For Real Estate Pro</strong></p>
<p><strong><a title="Wix" href="http://wix.com" target="_blank">Wix.com</a> hosts Flash and Fancy Modern Day Websites. </strong> You can create a user name, setup custom websites and web pages, then access them anytime or anywhere from the internet.  The user interface is very user friendly, and you won&#8217;t need any software of HTML experience.  This is a great solution for those of you having to use other web editors which can only be run from your desktop computers.</p>
<p style="text-align:center;"><strong>Build a website in 2 minutes</strong></p>
<p><strong></strong><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/UAYJVPm8uC8&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/UAYJVPm8uC8&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
<p>Some of the possibilities that have yet to be explored using WIX might include these:</p>
<ul>
<li>
<ul>
<li>
<ul>
<li style="text-align:left;">Creating Listings By Address</li>
<li style="text-align:left;">Open House Templates</li>
<li style="text-align:left;">Listing and Sales Presentations</li>
<li style="text-align:left;">Marketing Campaigns</li>
<li style="text-align:left;">Advertising and Promotions</li>
<li style="text-align:left;">Custom Created Market Reports</li>
<li style="text-align:left;">Mapping and Relocation Tool</li>
<li style="text-align:left;">Niche Property or Neighborhoods</li>
<li style="text-align:left;">Homeowners Associations</li>
<li style="text-align:left;">Groups and Local Events</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><strong>There are endless ways that you could creatively use Wix.</strong> You can create individual, independent  sites for each of these.  You probably have even more ideas now that you&#8217;ve seen it.</p>
<p><img class="aligncenter size-full wp-image-339" title="Brad Andersohn Wix" src="http://retechworld.wordpress.com/files/2009/09/picture-5.png" alt="Brad Andersohn Wix" width="542" height="283" /></p>
<p><strong>It&#8217;s FREE, they host it on their site.</strong> You can sent links to anyone you want with your new Library of Tools and Sites just sitting out on the web waiting to be seen by your next clients. You can edit and customize them on the go.</p>
<p><strong>Here&#8217;s a sample</strong> of what <a title="Alisa Fedele" href="http://www.wix.com/redandblack/alisafedele" target="_blank">Alisa Fedele has done with WIX.</a> Very well done, and easier than it looks or than you may think.  Here&#8217;s <a title="SEO my WIX" href="http://seomywix.com/2009/08/27/why-isn%E2%80%99t-my-site-listed-in-google/" target="_blank">7 tips to get Google SEO faster </a>according to the <a title="Wix" href="http://blog.wix.com/" target="_blank">Wix Blog</a>.  The site Rocks and should at least be checked out by Industry Professionals to see if what Wix has to offer, just might be the right tools for them.</p>
<p><a href="http://www.addthis.com/bookmark.php?v=250&#38;pub=xa-4a8af50b0b3c81e7"><img style="border:0 none;" src="http://s7.addthis.com/static/btn/v2/lg-share-en.gif" alt="Bookmark and Share" width="125" height="16" /></a> <a title="Follow Me On Twitter" href="http://twitter.com/BradAndersohn" target="_blank"><img src="http://bradsdomain.com/graphics/twitter.gif" border="0" alt="Twitter" width="20" height="20" /></a> <a title="Connect on FriendFeed" href="http://friendfeed.com/bradster" target="_blank"><img src="http://bradsdomain.com/graphics/friendfeed.png" border="0" alt="FriendFeed" width="20" height="20" /></a> <a title="Connect As Friends on Facebook" href="http://www.facebook.com/brad.andersohn" target="_blank"><img src="http://bradsdomain.com/graphics/facebook.gif" border="0" alt="Facebook" width="20" height="20" /></a> <a title="Connect on Flickr" href="http://www.flickr.com/photos/bradandersohn/" target="_blank"><img src="http://bradsdomain.com/graphics/flickr.png" border="0" alt="Flickr" width="20" height="20" /></a> <a title="My Youtube Videos" href="http://www.youtube.com/user/bandersohn" target="_blank"><img src="http://bradsdomain.com/graphics/youtubelogo.jpg" border="0" alt="RSS" width="20" height="20" /></a> <a title="Connect On LinkedIn" href="http://www.linkedin.com/profile?viewProfile=&#38;key=11101969&#38;trk=tab_pro" target="_blank"><img src="http://bradsdomain.com/graphics/linkedin.gif" border="0" alt="LinkedIn" width="20" height="20" /></a> <a title="Connect On ALL Other Networks" href="http://www.retaggr.com/page/BradAndersohn/" target="_blank"><img src="http://bradsdomain.com/graphics/retaggr.gif" border="0" alt="All Networks" width="20" height="20" /></a> <a title="My Outside Blog" href="http://activebradsblog.com/" target="_blank"><img src="http://bradsdomain.com/graphics/rss.gif" border="0" alt="RSS" width="20" height="20" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tu sitio, mi sitio, nuestro sitio...]]></title>
<link>http://elsonambulo.wordpress.com/2009/09/22/wix/</link>
<pubDate>Tue, 22 Sep 2009 09:07:27 +0000</pubDate>
<dc:creator>adrianaddesso</dc:creator>
<guid>http://elsonambulo.wordpress.com/2009/09/22/wix/</guid>
<description><![CDATA[Luego de un parate de publicaciones hemos vuelto a las andadas. Se me había terminado el café así qu]]></description>
<content:encoded><![CDATA[Luego de un parate de publicaciones hemos vuelto a las andadas. Se me había terminado el café así qu]]></content:encoded>
</item>
<item>
<title><![CDATA[WiX Troubles]]></title>
<link>http://upikit.wordpress.com/2009/09/17/wix-troubles/</link>
<pubDate>Thu, 17 Sep 2009 19:06:00 +0000</pubDate>
<dc:creator>Marc Schuricht</dc:creator>
<guid>http://upikit.wordpress.com/2009/09/17/wix-troubles/</guid>
<description><![CDATA[Technorati Tags: WiX,MSI,Visual Studio I recently had to create an installer for a service I was cre]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div style="display:inline;float:none;margin:0;padding:0;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:04784b63-1353-413b-8ee0-4674ddf3c84e" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/WiX" rel="tag">WiX</a>,<a href="http://technorati.com/tags/MSI" rel="tag">MSI</a>,<a href="http://technorati.com/tags/Visual+Studio" rel="tag">Visual Studio</a></div>
<p>I recently had to create an installer for a service I was creating for a client.&#160; Normally, I like to post successes and how I got past the hurdles that go me to success, but this time, I am relegated to posting a problem.&#160; I am not trying to do much in the way of complexity and unfortunately, the WiX 3.0 Documentation is lacking.</p>
<p>I am trying to create an MSMQ Queue that my service will use after deployment.&#160; There is some decent documentation about what parameters are needed to accomplish this <a href="http://wix.sourceforge.net/manual-wix3/msmq_xsd_index.htm">here</a>.&#160; The installation actually is pretty smooth.&#160; I have the following Component:</p>
<p align="left"><font size="2" face="Courier New">&#60;MSMQ:MessageQueue      <br />&#160; Id=&#34;PMO.Queue&#34;       <br />&#160; Label=&#34;PMO&#34;       <br />&#160; PathName=&#34;.\Private$\pmo&#34;       <br />&#160; Transactional=&#34;no&#34;       <br />&#160; PrivLevel=&#34;none&#34;&#62;      </p>
<p>&#160; &#60;MSMQ:MessageQueuePermission&#160; <br />&#160;&#160;&#160; </font><font size="2" face="Courier New">User=&#34;ServiceAccount&#34;      <br />&#160;&#160;&#160; QueueGenericAll=&#34;yes&#34;       <br />&#160;&#160;&#160; DeleteQueue=&#34;yes&#34;&#160; <br />&#160;&#160;&#160; WriteMessage=&#34;yes&#34;       <br />&#160;&#160;&#160; ReceiveMessage=&#34;yes&#34;       <br />&#160;&#160;&#160; TakeQueueOwnership=&#34;yes&#34;       <br />&#160;&#160;&#160; Id=&#34;Queue.Permissions.PMO&#34;/&#62;      </p>
<p>&#60;/MSMQ:MessageQueue&#62;</font> </p>
<p>The problem comes when I try to uninstall the service.&#160; Mind you that once I try to build the MSI from Visual Studio that I break compatibility with the old MSI that has been installed.&#160; So, make sure to make backups of successfully installed MSIs otherwise you will be digging through the depths of &#60;RootDrive&#62;:\Windows\Installer\*.MSI trying to find the right one.</p>
<p>Looking at my MSI log, I see the following:</p>
<p align="left"><font size="2" face="Courier New">MSI (s) (98:1C) [11:19:07:524]: Invoking remote custom        <br />&#160;&#160; action. DLL: C:\WINDOWS\Installer\MSI54D.tmp,&#160; <br />&#160;&#160; Entrypoint:&#160; MessageQueuingExecuteUninstall         <br />&#160;&#160; MessageQueuingExecuteUninstall:&#160; Error 0&#215;80070534:         <br />&#160;&#160; Failed to lookup account names </font><font size="2" face="Courier New">MessageQueuingExecuteUninstall:&#160; Error 0&#215;80070534:        <br />&#160;&#160; Failed to get SID for account name </font><font size="2" face="Courier New">MessageQueuingExecuteUninstall:&#160; Error 0&#215;80070534:        <br />&#160;&#160; Failed to remove message queue permission </font><font size="2" face="Courier New">MessageQueuingExecuteUninstall:&#160; Error 0&#215;80070534:        <br />&#160;&#160; Failed to remove message queue permissions</font></p>
<p align="left">Something that struck me was the “User” attribute on the MessageQueuePermission element.&#160; The documentation says this should be a string.&#160; Based on my experience with configuring IIS settings with WiX, I assumed this should be a &#60;User /&#62; element referencing the ID of that &#60;User/&#62; account.&#160; So, I have created:</p>
<p align="left"><font size="2" face="Courier New">&#60;Util:User&#160; <br />&#160; Domain=&#34;[DOMAIN]&#34;       <br />&#160; Name=&#34;[ACCOUNT]&#34;       <br />&#160; Password=&#34;[PASSWORD]&#34;       <br />&#160; Id=&#34;ServiceAccount&#34;&#62;      <br />&#60;/Util:User&#62; </font></p>
<p align="left">To no avail.&#160; I am going to continue researching this problem to see what I can come up with…</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Software Development Machine Build Order]]></title>
<link>http://ryankyle.wordpress.com/2009/09/15/software-development-machine-build-order/</link>
<pubDate>Wed, 16 Sep 2009 01:33:39 +0000</pubDate>
<dc:creator>Ryan Kyle</dc:creator>
<guid>http://ryankyle.wordpress.com/2009/09/15/software-development-machine-build-order/</guid>
<description><![CDATA[I build a development machine at least once a year, either on my laptop or desktop. It often takes a]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I build a development machine at least once a year, either on my laptop or desktop. It often takes at least a full day and is a huge time sink. I have come up with a build order for building a development machine quickly, securely, and without delays. The machine must be connected to the internet. Much of the software is available free on the web. The rest is available through the <a title="BizSpark" href="http://www.microsoft.com/bizspark/">BizSpark</a> program (also free, initially).</p>
<p>Here is my my current list. All of this software is publicly available, although some may be beta or research.</p>
<p><strong>Windows 7 x64</strong></p>
<p><strong>Security</strong></p>
<p>1. <a title="Windows Update" href="http://windowsupdate.microsoft.com">Windows Update</a> &#8211; Run this over and over again until it says no more updates.</p>
<p>RESTART</p>
<p>2. <a title="Avast! Home Edition" href="http://www.avast.com/eng/download-avast-home.html">Avast Home Edition</a> (free anti-virus)</p>
<p>RESTART</p>
<p>3. <a title="Web of Trust" href="http://www.mywot.com/">Web of Trust</a></p>
<p>4. <a title="Spybot Search &#38; Destroy" href="http://www.safer-networking.org/en/download/index.html">Spybot Search and Destroy</a> (free anti-spyware)</p>
<p> <strong>Development</strong></p>
<p>5. <a title="SQL Server 2008 Developer Edition" href="http://www.microsoft.com/sqlserver/2008/en/us/developer.aspx">Sql Server 2008 Developer Edition</a> (from DVD)</p>
<p>6. <a title="SQL Server 2008 SP1" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&#38;FamilyID=66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19">SQL Server 2008 SP1</a> &#8211; Required on Windows 7</p>
<p>RESTART</p>
<p>7. <a title="Visual Studio 2008 Team Suite" href="http://www.microsoft.com/visualstudio/en-us/products/teamsystem/default.mspx">Visual Studio 2008 Team Suite</a> (from DVD)</p>
<p>8. <a title="Visual Studio 2008 SP1" href="http://www.microsoft.com/downloads/details.aspx?familyid=FBEE1648-7106-44A7-9649-6D9F6D58056E&#38;displaylang=en">Visual Studio 2008 SP1</a></p>
<p>9. <a title="Web Platform Installer" href="http://www.microsoft.com/web/">Web Platform Installer</a> &#8211; A single installer for all of these tools and more.</p>
<p>    A. <a title="ASP.NET MVC 1.0" href="http://www.asp.net/mvc">ASP.NET MVC 1.0</a></p>
<p>    B. <a title="Silverlight Tools for Visual Studio" href="http://www.silverlight.net/">Silverlight Tools for Visual Studio</a></p>
<p>    C. <a title="SQL Server 2008 Express" href="http://www.microsoft.com/express/sql/Default.aspx">SQL Server 2008 Express</a></p>
<p>10. <a title="Expression Studio 3" href="http://www.microsoft.com/expression/default.aspx">Expression Studio 3</a> (DVD)</p>
<p>11. <a title="Pex" href="http://research.microsoft.com/en-us/projects/pex/">Pex</a> &#8211; Automated White box Testing for .NET (Microsoft Research Pre-Release)</p>
<p>12. <a title="Windows Installer XML (Wix)" href="http://wix.sourceforge.net/">Windows Installer XML (Wix)</a></p>
<p><strong>Document / Web Apps / More</strong></p>
<p>13. <a title="Microsoft Office 2007" href="http://office.microsoft.com/">Microsoft Office 2007</a> (from DVD) -OR- <a title="Microsoft Word Viewer" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3657ce88-7cfa-457a-9aec-f4f827f20cac&#38;displaylang=en">Microsoft Word Viewer</a></p>
<p>14. <a title="Adobe Flash Player" href="http://www.adobe.com/products/flashplayer/">Adobe Flash Player</a></p>
<p>15. <a title="Adobe Reader" href="http://get.adobe.com/reader/">Adobe Reader</a></p>
<p>16. <a title="Outlook Connector" href="http://office.microsoft.com/en-us/outlook/HA102225181033.aspx">Outlook Connector</a> &#8211; Recieve Live Hotmail emails in Outlook.</p>
<p>17. <a title="Windows Mobile Device Center" href="http://www.microsoft.com/windowsmobile/devicecenter.mspx">Windows Mobile Device Center</a> &#8211; for syncing my Blackjack.</p>
<p>18. <a title="Zune Software" href="http://zune.net/products/software/download/default.htm">Zune Software</a> - To sync music to my Zune.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Juste pour votre information...]]></title>
<link>http://brainexplosion.wordpress.com/2009/09/13/juste-pour-votre-information/</link>
<pubDate>Mon, 14 Sep 2009 01:38:00 +0000</pubDate>
<dc:creator>Julie</dc:creator>
<guid>http://brainexplosion.wordpress.com/2009/09/13/juste-pour-votre-information/</guid>
<description><![CDATA[J&#8217;ai créé un site où se retrouverons mes compos. Un genre de site officiel, quoi ! Voici le li]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>J&#8217;ai créé un site où se retrouverons mes compos. Un genre de site officiel, quoi ! Voici le lien :</p>
<p><a href="http://wix.com/juliegagne/juliegagne" target="_blank">wix.com/juliegagne/juliegagne</a></p>
<p>Créer un site avec la plateforme Wix, c&#8217;est comme un mélange de Piczo et WordPress. Avec un compte, on peut créer des centaines, voir des milliers de sites, avec pleins de thèmes&#8230; modifiables ! On peut même commencer à zéro. J&#8217;adore !</p>
<p>J&#8217;ai commencé une nouvelle compo qui devrait être terminée ce soir, ou demain&#8230; au plus tard vendredi, tiens ! J&#8217;ai décidé de me lancer un défi : écrire un solo de bass. Personnellement, je m&#8217;impressionne toujours de plus en plus. Je me dis plus souvent &#8220;HOLY SCHNAUZER ! C&#8217;est vraiment moi qui a écrit ça ? Débile !&#8221;</p>
<p>Bon, j&#8217;vous laisse parce que j&#8217;ai trop de chose à faire&#8230; comme faire mes devoirs, trouver des infos sur les sorcières de Salem, colorier l&#8217;Afrique <span style="color:#888888;">(sans commentaire)</span>, pratiquer ma diction avec un bouchon de liège, pratiquer mes accords, ma lecture à vue et&#8230; me préparer mentalement pour mon premier cours de solfège&#8230; :S</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[New Abercrombie Website]]></title>
<link>http://stephaniemichaels.wordpress.com/2009/09/02/new-abercrombie-website/</link>
<pubDate>Wed, 02 Sep 2009 05:06:51 +0000</pubDate>
<dc:creator>Stephanie Michaels</dc:creator>
<guid>http://stephaniemichaels.wordpress.com/2009/09/02/new-abercrombie-website/</guid>
<description><![CDATA[Check out this Demo site i made advertising Abercrombie . http://www.wix.com/iketuonye/Abercrombie]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="aligncenter size-full wp-image-14" title="abercrombie" src="http://stephaniemichaels.wordpress.com/files/2009/09/abercrombie.png" alt="abercrombie" width="480" height="254" /> Check out this Demo site i made advertising Abercrombie .</p>
<p><a href="http://www.wix.com/Modelco/Abercrombie?partner%5Fid=WMGs4POB1ko%2Da&#38;wsess=1b322b0f%2D6d03%2D4804%2Da8c0%2D5a49d870564b&#38;experiment%5Fid=empty&#38;wixComputerID=cJBFZnYLDK2T1rfgSnK%2BRlP6tsMM1UyI4rBh4%2FX%2BqCnTIV5LiaMqUZVLQOIkwV6qHwzZbja6RrLZpXkXL85nmQ%3D%3D&#38;orgDocID=5Fgn2S9Rf6k%2Da&#38;gu%5Fid=c183df8d%2Da412%2D4b25%2D8c83%2D2cdd895e3c86">http://www.wix.com/iketuonye/Abercrombie</a><a href="http://www.wix.com/Iketuonye/Abercrombie?wsess=ca0258d2-fa1d-40b0-a747-5950678f03ef&#38;gu_id=d67389c6-af95-4609-bc2b-d04a61427d6f&#38;partner_id=WMGs4POB1ko-a&#38;orgDocID=5Fgn2S9Rf6k-a&#38;wixComputerID=cJBFZnYLDK2T1rfgSnK%2BRlP6tsMM1UyI4rBh4/X%2BqCnTIV5LiaMqUZVLQOIkwV6qHwzZbja6RrLZpXkXL85nmQ%3D%3D&#38;experiment_id=empty"></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[New Hollister Website]]></title>
<link>http://stephaniemichaels.wordpress.com/2009/08/27/new-hollister-website/</link>
<pubDate>Thu, 27 Aug 2009 03:24:38 +0000</pubDate>
<dc:creator>Stephanie Michaels</dc:creator>
<guid>http://stephaniemichaels.wordpress.com/2009/08/27/new-hollister-website/</guid>
<description><![CDATA[Check Out This Flash (mini) Website i made for Hollister clothing Using wix. http://www.wix.com/Mode]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignleft size-full wp-image-8" title="holl" src="http://stephaniemichaels.wordpress.com/files/2009/08/holl.png" alt="holl" width="480" height="287" />Check Out This Flash (mini) Website i made for Hollister clothing Using wix.</p>
<p><a href="http://www.wix.com/Modelco/Hollister?partner%5Fid=WMGs4POB1ko%2Da&#38;wsess=1b322b0f%2D6d03%2D4804%2Da8c0%2D5a49d870564b&#38;experiment%5Fid=empty&#38;wixComputerID=cJBFZnYLDK2T1rfgSnK%2BRlP6tsMM1UyI4rBh4%2FX%2BqCnTIV5LiaMqUZVLQOIkwV6qHwzZbja6RrLZpXkXL85nmQ%3D%3D&#38;orgDocID=5Fgn2S9Rf6k%2Da&#38;gu%5Fid=a81aed45%2D9f77%2D4fc5%2Dad92%2D3b5cb58f2755">http://www.wix.com/Modelco/Hollister</a><a href="http://www.wix.com/Iketuonye/Hollister?wsess=4b39d955-a7f9-4637-b741-10c5f17defa8&#38;gu_id=ef89f944-540d-4fd8-a90c-260112500a75&#38;partner_id=WMGs4POB1ko-a&#38;orgDocID=5Fgn2S9Rf6k-a&#38;wixComputerID=cJBFZnYLDK2T1rfgSnK%2BRlP6tsMM1UyI4rBh4/X%2BqCnTIV5LiaMqUZVLQOIkwV6qHwzZbja6RrLZpXkXL85nmQ%3D%3D&#38;experiment_id=empty"></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Writing Data-Driven Custom Actions]]></title>
<link>http://jpassing.wordpress.com/2009/08/26/writing-data-driven-custom-actions/</link>
<pubDate>Wed, 26 Aug 2009 17:36:57 +0000</pubDate>
<dc:creator>jpassing</dc:creator>
<guid>http://jpassing.wordpress.com/2009/08/26/writing-data-driven-custom-actions/</guid>
<description><![CDATA[Whenever Windows Installer&#8217;s built-in actions do not suffice to perform a specific task, a Cus]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Whenever Windows Installer&#8217;s built-in actions do not suffice to perform a specific task, a Custom Action needs to be written. Needless to say, Custom Actions, can be a bit tricky &#8212; not only can they be laborious to write and cumbersome to debug, they also run the risk of interfering with Windows Installer&#8217;s declarative, transactional way of performing installs.</p>
<p>It is not really surprising that Windows Installer therefore more or less discourages the use of Custom Actions unless it is absolutely necessary. Moreover, as a result of its declarative nature, it is understadable that Windows Installer prefers Custom Actions to be <a href='http://robmensching.com/blog/posts/2007/9/13/Zataoca-Custom-actions-should-be-data-driven'>data-driven</a>.</p>
<p>What this means in practice is that a Custom Action should not perform a hard-coded task &#8212; rather, it should query one or more (custom) tables containing the necessary information (in a declarative manner) about what is to be performed and should act accordingly.</p>
<p>Using WiX, creating custom tables turns out to be pretty easy. Let&#8217;s assume we create a Custom Action that, based on some condition, does something with a specific file. An appropriate table could look like this:</p>
<blockquote><pre>

&#60;CustomTable Id="MyCustomTable"&#62;
  &#60;Column Id="Id" Type="string" PrimaryKey="yes"/&#62;
  &#60;Column Id="Path" Type="string"/&#62;
  &#60;Column Id="Condition" Type="string"/&#62;

  &#60;Row&#62;
    &#60;Data Column="Id"&#62;Foo&#60;/Data&#62;
    &#60;Data Column="Path"&#62;[INSTALLLOCATION]foo.txt&#60;/Data&#62;
    &#60;Data Column="Condition"&#62;&#60;![CDATA[ &#38;FeatureFoo=3 ]]&#62;&#60;/Data&#62;
  &#60;/Row&#62;
  &#60;Row&#62;
    &#60;Data Column="Id"&#62;Bar&#60;/Data&#62;
    &#60;Data Column="Path"&#62;[INSTALLLOCATION]bar.txt&#60;/Data&#62;
    &#60;Data Column="Condition"&#62;&#60;![CDATA[ &#38;FeatureBar=3 ]]&#62;&#60;/Data&#62;
  &#60;/Row&#62;
&#60;/CustomTable&#62;
</pre>
</blockquote>
<p>To query this table, we have to open a view and fetch the records one by one:</p>
<blockquote><pre>
PMSIHANDLE Database = MsiGetActiveDatabase( InstallHandle );
ASSERT( Database != NULL );

PMSIHANDLE View;
UINT Result = MsiDatabaseOpenView(
  Database,
  L"SELECT `Condition`, `Path`, FROM `MyCustomTable`",
  &#38;View );
if ( ERROR_SUCCESS != Result )
{
  ...
}

Result = MsiViewExecute( View, NULL );
if ( ERROR_SUCCESS != Result )
{
  ...
}

for ( ;; )
{
  PMSIHANDLE Record;
  Result = MsiViewFetch( View, &#38;Record );
  if ( Result == ERROR_NO_MORE_ITEMS  )
  {
    break;
  }
  else if ( ERROR_SUCCESS != Result )
  {
    ...
  }

  //
  // Read condition.
  //
  // N.B. Do not format -- this is done by
  // MsiEvaluateCondition itself.
  //

  WCHAR Condition[ 256 ];
  DWORD Length = _countof( Condition );
  Result = MsiRecordGetString(
    Record,
    1,
    Condition,
    &#38;Length );
  if ( ERROR_SUCCESS != Result )
  {
    ...
  }

  if ( MSICONDITION_TRUE != MsiEvaluateCondition(
    InstallHandle,
    Condition ) )
  {
    //
    // This record can be skipped.
    //
    continue;
  }

  //
  // Read remaing fields.
  //

  WCHAR Path[ MAX_PATH ];
  Length = _countof( VszPath );
  Result = GetFormattedRecord(
    InstallHandle,
    Record,
    2,
    Path,
    &#38;Length );
  if ( ERROR_SUCCESS != Result )
  {
    ...
  }

  ...
}
</pre>
</blockquote>
<p>With <code>GetFormattedRecord</code> being the following utility routine:</p>
<blockquote><pre>

static UINT GetFormattedRecord(
  __in MSIHANDLE InstallHandle,
  __in MSIHANDLE Record,
  __in UINT Field,
  __out PWSTR Value,
  __inout PDWORD Length
  )
{
  DWORD RecLength = *Length;
  UINT Result = MsiRecordGetString(
    Record,
    Field,
    Value,
    &#38;RecLength );
  if ( ERROR_SUCCESS != Result )
  {
    *Length = RecLength;
    return Result;
  }

  PMSIHANDLE FormattingRecord = MsiCreateRecord( 1 );

  Result = MsiRecordSetString( FormattingRecord, 0, Value );
  if ( ERROR_SUCCESS != Result )
  {
    return Result;
  }

  return MsiFormatRecord(
    InstallHandle,
    FormattingRecord,
    Value,
    Length );
}
</pre>
</blockquote>
<p>Some things are worth noting:</p>
<ul>
<li>I use PMSIHANDLE, which, as you probably already know, is not a typedef for MSIHANDLE* but rather a smart-pointer like class that automatically closes the handle when it goes out of scope.</li>
<li>The use of backticks in the query.</li>
<li>It must have been a Visual Basic programmer implementing <code>MsiRecordGetString</code>: Field Indexes start with 1, not 0. To make matters worse, reading from index 0 does not fail but returns arbitrary data. Finally, to confuse people further, indexes are 0-based for <code>MsiRecordSetString</code>.</li>
<li>If the field contains formatted data, you have to <code>MsiFormatRecord</code> it yourself. For conditions, however, <code>MsiEvaluateCondition</code> handles that for you.</li>
</ul>
<p>So far, so good. There is, however, one thing to notice: To access the installer database, the custom action <a href='http://msdn.microsoft.com/en-us/library/aa367457(VS.85).aspx'>must be a <i>nondeferred</i> action</a>:</p>
<blockquote><p>
You cannot access the current installer session or all property data from a deferred execution custom action
</p></blockquote>
<p>The problem with nondeferred actions, however, is that they execute in user context &#8212; in contrast to deferred actions, which execute in system context. On pre-Vista platforms, a per-machine installer package can be expected to always be launched by an administrator (otherwise it will fail anyway) &#8212; in this case, the differences between user and system context may not be important &#8212; both, for example, have r/w access to files in %ProgramFiles%. On Vista and later OS, however, it is common to have a regular user launch an installation which causes an elevation prompt once it reaches the main install phase. In this case, the user context is significantly less privileged than system context.</p>
<p>For a hypothetical custom action that is intended to edit a file installed to %ProgramFiles%, this means that (disregarding rollback considerations and assuming proper scheduling) performing this action from within the nondeferred custom action will work fine on pre-Vista OS. When run on Vista, though, it is likely to fail due to lack of write access to %ProgramFiles%. In practice, this means that all system-changing tasks usually have to be performed by a deferred action.</p>
<p>To sum up: To be data-driven, you have to use nondeferred actions. To be able to perform any serious, system state-changing tasks, however, you have to use deferred actions. </p>
<p>Great.</p>
<p>As it turns out, however, there is a way to escape this catch-22, and it is carefully buried in the Windows Installer documentation:</p>
<blockquote><p>
[...] Actions that update the system, such as the InstallFiles and WriteRegistryValues actions, cannot be run by calling MsiDoAction. The exception to this rule is if MsiDoAction is called from a custom action that is scheduled in the InstallExecuteSequence table between the InstallInitialize and InstallFinalize actions. [...]
</p></blockquote>
<p>[From the <i>Remarks</i> section of <a href='http://msdn.microsoft.com/en-us/library/aa370090(VS.85).aspx'>MsiDoAction</a>]</p>
<p>In fact, the way I came across this solution was by looking at the source code of the WiX <code>XmlFile</code> action, which I knew manages to both be data-driven (uses a custom table) and alter system state (edits XML files). The way it does this, and the point where the above remark comes into play, is as follows: In the nondeferred action, you do not perform any actions changing system state. Rather, you collect the information from the installer tables and stuff it (yuck) into the <code>CustomActionData</code> property. Then, leveraging <code>MsiDoAction</code> and passing said <code>CustomActionData</code>, you schedule another custom action &#8212; this time a deferred one &#8212; which parses the <code>CustomActioData</code> (yuck) and, based on this data, finally performs the actual modifications &#8212; in system context.</p>
<p>It really could not be easier and more intuitive, right?</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[New Website!!]]></title>
<link>http://ridiculouslyfunny.wordpress.com/2009/11/14/new-website/</link>
<pubDate>Sat, 14 Nov 2009 21:51:29 +0000</pubDate>
<dc:creator>twentydigitstotal</dc:creator>
<guid>http://ridiculouslyfunny.wordpress.com/2009/11/14/new-website/</guid>
<description><![CDATA[Hey-lo! If you know me well, you know that I typically get bored EASY. Yes, I am a victim of ADHD. W]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Hey-lo! If you know me well, you know that I typically get bored EASY. Yes, I am a victim of ADHD. We are hard at work, trying to find a cure&#8230;..Well, when I do get bored, I usually have three options:</p>
<p>A.) Bake brownies, cookies, and lemon bars until I can bake no more.<br />
B.) Start some insane project, like making a magazine, newsletter/newspaper, or book<br />
C.) Make a totally theme based website, which leads me to making MORE websites.</p>
<p>So what do you think I did today? Did you choose A? FAIL. B? <em>EPIC</em> FAIL. C? FA&#8211;Wait, did you say &#8220;C?&#8221; OMIGOODNESS! YOU JUST WON A MILLION DOLLARS! RAIN THE CONFETTI! YAY!!! YAY!!! YAY!!! Hold on&#8211;oops, I just recieved information that you don&#8217;t have enough insurance to get excited and faint, so you did NOT win a million dollars&#8230;.But you are correct. I have made a website: www.wix.com/catherineeng/home. It&#8217;s ridiculously awesome. I have put lots of typing, and clicking, and pasting into it, so please visit it! Ugh, I&#8217;m tired. I&#8217;m gonna take a nap. Why? Because I&#8217;m an avid nap-taker. Night.</p>
<p>Joi Geen!</p>
<p>-Catherine <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_confused.gif' alt=':-?' class='wp-smiley' /> </p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
