<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>From Zero To One &#187; Windows</title>
	<atom:link href="http://www.cromis.net/blog/category/os/windows/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cromis.net/blog</link>
	<description>A blog about Delphi programming and all things technical</description>
	<lastBuildDate>Mon, 25 Jul 2011 19:27:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Yahoo messenger and Windows VirtualStore</title>
		<link>http://www.cromis.net/blog/2010/02/yahoo-messenger-and-windows-virtualstore/</link>
		<comments>http://www.cromis.net/blog/2010/02/yahoo-messenger-and-windows-virtualstore/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 18:08:22 +0000</pubDate>
		<dc:creator>Iztok Kacin</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Symbolic Link]]></category>
		<category><![CDATA[VirtualStore]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Yahoo Messenger]]></category>

		<guid isPermaLink="false">http://www.cromis.net/blog/?p=631</guid>
		<description><![CDATA[Today I had an interesting challenge in front of me. As I already wrote about in a couple of posts I have a NAS set up for backing up my personal data, as well as my important VMWare machines. I switched my Windows backup client to Cobian last week, because GFI has serious issues with [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Today I had an interesting challenge in front of me. As I already wrote about in a couple of posts I have a NAS set up for backing up my personal data, as well as my important VMWare machines. I switched my Windows backup client to <a title="Cobian Backup" href="http://www.educ.umu.se/~cobian/cobianbackup.htm">Cobian</a> last week, because GFI has serious issues with task scheduling. Now I am trying Cobian to see how it will do. So I added the folders, than need to be backup-ed, to the backup plan in Cobian. One of the folders is a <a title="Yahoo Messenger" href="http://messenger.yahoo.com/">Yahoo messenger</a> archive folder for my profile. I use YM for day to day work, because I work from home and it is my link with my coworkers through the day. I store every conversation to the archive, so I have a complete history in case I need some info about app design or anything else, that was decided a while ago and it is not in the mail.</p>
<p style="text-align: justify;">Ok so what did I find out? YM tries to store the profile and archives into the <span style="color: #0000ff;">&#8220;Program Files (x86)\Yahoo!\Messenger\profiles&#8221;</span> folder (I have 64 bit Windows 7). <span style="color: #000000;">Well </span>Windows VirtualStore kicks in at that moment, redirecting all the data to the <span style="color: #0000ff;">&#8220;Users\UserName\AppData\Local\VirtualStore\Program Files (x86)\Yahoo!\Messenger\Profile&#8221;</span>. I know why MS implemented VirtualStore. User apps have no business writing data to the &#8220;Program Files&#8221;. But guess what, they do. And a lot of them, even popular apps like YM. And because MS wanted better security and on the same side wanted old apps to continue running, they made the decision about VirtualStore. But I don&#8217;t think it was a smart one. Redirecting data to some obscure path, deep into the user profile is not a good idea. Redirecting to a path that has hidden folders in it is even worse idea. People then don&#8217;t know what happened with their data and that can lead to data loss or some irrational decision made in panic that also lead to data loss.</p>
<p style="text-align: justify;">Lets take my case for example. Under Windows XP, my archive was written to &#8220;Program Files&#8221;. After installing Windows 7, I restored to the previous state ,installing YM again. I could see my archived data when I checked if it was there in YM. But from then on all the data was written to the VirtualStore, without me being aware of it. When I restored my backup plan I was missing all the new data recorded after the transition to Windows 7. And I am a developer, so I quickly found that out, when restoring the backup plan. But what about the common user, that has no way of knowing that and resolving such issues. I think a better approach would be:</p>
<ol>
<li>Let the application crash if it tries to write to &#8220;Program Files&#8221;</li>
<li>Explicitly tell the application to work in &#8220;Windows XP&#8221; compatibility</li>
<li>VirtualStore is disabled when applications are run in compatibility mode</li>
</ol>
<p style="text-align: justify;">Yes, it would be harder for the user in the beginning, but they would quickly learn how to handle legacy apps and application developers would have to fix their applications. And because the message would be clear: &#8220;Your app is not working correctly&#8221;, a user would be aware of the error instead of having the illusion that all is well.</p>
<p>So how did I solve the problem. I made a <a href="http://en.wikipedia.org/wiki/NTFS_junction_point">NTFS Junction Point</a>. The procedure is simple:</p>
<ol>
<li>I moved the complete archive from &#8220;Program Files&#8221; and VirtualStore to my actual profile folder: &#8220;<span style="color: #0000ff;">Users\UserName\AppData\Local\Yahoo\Profiles</span>&#8220;</li>
<li>I deleted the old archive locations and I also deleted the profile folder in YM &#8220;Program Files&#8221; directory</li>
<li>I opened CMD and typed: <span style="color: #0000ff;">mklink /D /J &#8220;C:\Program Files (x86)\Yahoo!\Messenger\profiles&#8221; &#8220;c:\Users\UserName\AppData\Local\Yahoo\Profiles&#8221;</span></li>
</ol>
<p style="text-align: justify;">That is it. Now YM thinks it is writing and reading data from &#8220;Program Files&#8221; but instead it is doing it from my user profile folder. I made YM do what it should in the first place and worked around VirtualStore. It is an interesting solution that could come handy in many other cases. And for those of you out there wondering: &#8220;Did he use the latest YM?&#8221; Yes I installed the latest YM before doing anything else. Version 10 still writes to the &#8220;Program Files&#8221; and I can&#8217;t understand why haven&#8217;t they fixed that.</p>
<p>I know many will disagree with my view on this topic, but as I see it, this is how things stand right now <img src='http://www.cromis.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cromis.net/blog/2010/02/yahoo-messenger-and-windows-virtualstore/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Windows 7 first impressions</title>
		<link>http://www.cromis.net/blog/2009/11/windows-7-first-impressions/</link>
		<comments>http://www.cromis.net/blog/2009/11/windows-7-first-impressions/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 09:25:59 +0000</pubDate>
		<dc:creator>Iztok Kacin</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Boot]]></category>
		<category><![CDATA[Fast]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.cromis.net/blog/?p=411</guid>
		<description><![CDATA[A week ago my old XP died on me for the last time. And it was the longest installation period i had with XP. Almost two years of heavy duty work and countless installations. Before they never lasted more than a year of torture. Now after almost two years I got a BSOD. Instead of [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">A week ago my old XP died on me for the last time. And it was the longest installation period i had with XP. Almost two years of heavy duty work and countless installations. Before they never lasted more than a year of torture. Now after almost two years I got a BSOD. Instead of trying to resurrect a dead working horse I decided to install the new Windows 7. Something I was planning for some time.</p>
<p align="justify">As a developer you have to be on constant guard as they bombard us with new technology and you have to move on, or you will be left behind. I did not trust Vista, as it was bloated and not as polished as I would like, so for my main development I stayed with the trusty XP. But it is hard to constantly test your work in virtual machines, so now it was time I jumped on the Windows 7 train. And I heard good things about this OS. So I installed Windows 7  in 64 bit flavour. The installation went smoothly, almost on autopilot. When this was done I started installing drivers and applications&#8230; and I was pleasantly surprised.</p>
<p align="justify">As I expected almost all drivers were found automatically, only the integrated sound card was not recognized (Asus M2N-e SLI AM2 motherboard). What surprised me, after installing my development tools (BDS 2006, RAD 2010) and all the supporting SW, is how responsive the system stayed. There is almost no noticeable slowdown (boot and common usage) when there is a lot of software and drivers installed. It seemed they made quite a few changes from XP on that front. And when I listened to the Mark Russinovich he confirmed that.</p>
<p><a title="Mark Russinovich on Windows 7" href="http://blogs.technet.com/markrussinovich/archive/2009/10/22/3288577.aspx">http://blogs.technet.com/markrussinovich/archive/2009/10/22/3288577.aspx</a></p>
<p align="justify">They implemented a boot optimizer that learns over multiple boots. Nice. There is a lot of other improvements that Mark talks about. I recommend that you watch the video as Mark is always a wealth of knowledge.</p>
<p align="justify">All in all, the new Windows 7 are running smoothly for now and I have a good feeling about the OS. Yes there are still problems but the OS is fresh and the drivers are not yet updated.  I had a lot of troubles to get the audio working. Asus provides no drivers for Windows 7 and the Vista drivers are not working (XP too, but that is expected). So I used my trusty old &#8220;Sound Blister Live&#8221;. That old sound card is still impressive after 7 or  8 years. It was not easy to get is working under Windows 7, but thanks to &#8220;Kx Project&#8221; I managed to bring some life to the old card:</p>
<p><a title="Kx Project" href="http://kxproject.lugosoft.com/">http://kxproject.lugosoft.com/</a></p>
<p align="justify">Now it works perfectly. And hats down to the makers of that drivers. I haven&#8217;t seen so many options and fine tunings in a driver for quite some time (if ever). Oh and if you are using the Tortoise SVN under 64 bit OS, just install both the 64 and 32 bit version, so you will have support for both types of applications.</p>
<p align="justify"><strong>Edit</strong>:</p>
<p align="justify">I saw a lot of search for BDS 2006 and Delphi 7 installation under Windows 7. Dr. Bob has a great article on that. It is for Vista, but it also applies for Windows 7. The only problem is that BDAS 2006 .NET debugger refuses to work under Windows 7. The link is:</p>
<p align="justify"><a title="Delphi and Windows 7" href="http://www.drbob42.com/examines/examin84.htm">http://www.drbob42.com/examines/examin84.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cromis.net/blog/2009/11/windows-7-first-impressions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
