<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>BUGBUG: poor title : personal</title><link>http://blogs.msdn.com/richardb/archive/tags/personal/default.aspx</link><description>Tags: personal</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Back from Brazil</title><link>http://blogs.msdn.com/richardb/archive/2007/08/06/back-from-brazil.aspx</link><pubDate>Tue, 07 Aug 2007 04:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4269489</guid><dc:creator>Richard Berg</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/richardb/comments/4269489.aspx</comments><wfw:commentRss>http://blogs.msdn.com/richardb/commentrss.aspx?PostID=4269489</wfw:commentRss><wfw:comment>http://blogs.msdn.com/richardb/rsscomments.aspx?PostID=4269489</wfw:comment><description>&lt;p&gt;I've been on vacation the last two weeks, and was silent for several weeks before that.&amp;nbsp; Lots of things from that time stretch I want to share.&amp;nbsp; Most notably, we wrapped up the promised "VSS GDR CTP".&amp;nbsp; Brian Harry was kind enough to &lt;a href="http://blogs.msdn.com/bharry/archive/2007/08/02/sourcesafe-2005-update-ctp-available.aspx" mce_href="http://blogs.msdn.com/bharry/archive/2007/08/02/sourcesafe-2005-update-ctp-available.aspx"&gt;announce its RTW&lt;/a&gt; in my absence (including an all-too-necessary jab at its TLAs):&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Along with the VS2008 wave of products, we are providing an update to Visual SourceSafe 2005 called a GDR.&amp;nbsp; GDR stands for something like General Distribution Release and it is very much like a service pack.&amp;nbsp; The differences are subtle and I won't try to explain them right now.&amp;nbsp; This GDR contains over 57 fixes and includes all customer requested hot fixes and many internally found and fixed issues.&amp;nbsp; It is also designed to make sure that VSS 2005 works well with the VS 2008 wave of products.&amp;nbsp; The update is available for free to all licensed VSS 2005 customers. &lt;/p&gt;&lt;p&gt;We have just released a Community Technology Preview (CTP) for the GDR - ok, the TLAs are getting out of hand now :)&amp;nbsp; You can read about some of the issues it addresses in the following Knowledge Base article: &lt;a href="http://support.microsoft.com/kb/939808" mce_href="http://support.microsoft.com/kb/939808"&gt;http://support.microsoft.com/kb/939808&lt;/a&gt;.&amp;nbsp; And you can download the CTP here if you want to try it out: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=faf41edd-924d-449f-aefc-9c86dd499720&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=faf41edd-924d-449f-aefc-9c86dd499720&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=faf41edd-924d-449f-aefc-9c86dd499720&amp;amp;displaylang=en&lt;/a&gt; &lt;/p&gt;&lt;p&gt;The official release of the VSS 2005 GDR will come this fall.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;You can find a longer &lt;a href="http://blogs.msdn.com/richardb/archive/2007/06/06/sourcesafe-2005-gdr-first-release-around-the-corner.aspx" mce_href="http://blogs.msdn.com/richardb/archive/2007/06/06/sourcesafe-2005-gdr-first-release-around-the-corner.aspx"&gt;explanation of the terminology&lt;/a&gt; and&amp;nbsp;the &lt;a href="http://blogs.msdn.com/richardb/archive/2007/06/06/list-of-bugs-fixed-in-sourcesafe-2005-gdr.aspx" mce_href="http://blogs.msdn.com/richardb/archive/2007/06/06/list-of-bugs-fixed-in-sourcesafe-2005-gdr.aspx"&gt;complete list of bugs&lt;/a&gt; among my previous posts.&amp;nbsp; Still, I have quite a blogging backlog from "going dark."&amp;nbsp;&amp;nbsp; First order of business: update said bug list.&amp;nbsp; (edit - done)&lt;br&gt;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4269489" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/richardb/archive/tags/vss/default.aspx">vss</category><category domain="http://blogs.msdn.com/richardb/archive/tags/personal/default.aspx">personal</category></item><item><title>Tidbits: life under a Limited User Account (LUA)</title><link>http://blogs.msdn.com/richardb/archive/2006/12/15/tidbits-life-under-a-limited-user-account-lua.aspx</link><pubDate>Sat, 16 Dec 2006 03:29:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1300219</guid><dc:creator>Richard Berg</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/richardb/comments/1300219.aspx</comments><wfw:commentRss>http://blogs.msdn.com/richardb/commentrss.aspx?PostID=1300219</wfw:commentRss><wfw:comment>http://blogs.msdn.com/richardb/rsscomments.aspx?PostID=1300219</wfw:comment><description>&lt;p&gt;I'm about to wipe my main work machine and install Vista RTM x64.&amp;nbsp; Wish me luck.&amp;nbsp; Sure, people @ MS wipe their boxen all the time, but I'm not one of them: this install of Win2k3 has lasted me since 6/29/2005.&amp;nbsp; (For reference, I was hired in April '05 and received this machine in early June.&amp;nbsp; So other than a couple months with the noisy old Athlon MP that our office hands from incoming sucker to sucker, and a couple weeks testing the x64 waters when this shiny machine arrived, this install has spanned my entire career.)&amp;nbsp; &lt;/p&gt; &lt;p&gt;Furthermore, I probably have the least Vista experience in the whole company.&amp;nbsp; Despite endless exhortations, I only installed it on my test box after RTM.&amp;nbsp; Adoption drivers, if you're reading: blame the lack of upgrade path from Win2k3 + the fact our Raleigh boot server is not &lt;a href="http://technet.microsoft.com/en-us/windowsvista/aa905119.aspx"&gt;WDS&lt;/a&gt; capable.&amp;nbsp; For home dogfooding, meanwhile, blame IHVs: can't upgrade any of those machines until the Emu 1212M, nVidia DualTV, and 3ware 7000 series are onboard, respectively.&amp;nbsp; Much as I cling to long-running software installs (the opposite of every other PC enthusiast, it seems), I swear it wasn't fear: I absorbed Office 2007 releases as early &amp;amp; often as possible and never looked back.*&lt;/p&gt; &lt;p&gt;Sure I saw several Beta1+ Vistas during major Whidbey test passes --&amp;nbsp;QA uses scores of lab machines to exercise configuration combos.&amp;nbsp; Conclusion: Vista's impact on my scenarios was far lower than most other variables in the support matrix.&amp;nbsp; Whatever people say about the Vista interface, it's way easier for a newbie to navigate than Arabic WinXP or Japanese TFS are.&amp;nbsp; But that phase of my career ended several months ago, just as Vista was really coming to life.&amp;nbsp; Owning SourceSafe is a much bigger responsibility, yet it's also been an escape from&amp;nbsp;the usual DevDiv overhead.&amp;nbsp; So come fall '06, still no quality time with Vista.&lt;/p&gt; &lt;p&gt;*with one exception I'll blog about some other time&lt;/p&gt; &lt;p&gt;----&lt;/p&gt; &lt;p&gt;This post was supposed to detail a few LUA issues I debugged in my first few days of living with a Vista test box, plus complete the final "draft" article sitting in Live Writer so it wouldn't be lost in the main box's wipe.&amp;nbsp; So far I've done neither.&amp;nbsp; Onward!&lt;/p&gt; &lt;ol&gt; &lt;li&gt;UAC prompts weren't pre-filling the admin account's username.&amp;nbsp; When you're first setting up a box, you inevitably hit UAC a lot; typing "machineName\adminName" each time was getting old quickly.&amp;nbsp; (No, logging in as the local admin wouldn't help;&amp;nbsp;that would have me&amp;nbsp;typing my domain credentials instead, just as frequently.)&amp;nbsp; My previous experiences with UAC were brief, but I knew it wasn't &lt;em&gt;that&lt;/em&gt; annoying.&amp;nbsp; I searched &amp;amp; searched for an answer...my complaint to the UAC&amp;nbsp;talk&amp;nbsp;alias was nearly composed when I finally found &lt;a href="http://blogs.msdn.com/uac/archive/2006/10/12/uac-bug-empty-user-name-field.aspx"&gt;this post&lt;/a&gt;.&amp;nbsp; Thank you, Daniel!&lt;br&gt;&lt;/li&gt; &lt;li&gt;I type things like "{pushd | start | dir}&amp;nbsp;\\someMachine\d$\&amp;lt;tab complete...&amp;gt;" a LOT.&amp;nbsp; Always will, at least until &lt;a href="http://blogs.msdn.com/jmanning/"&gt;James&lt;/a&gt; gets me fully hooked on PowerShell.&amp;nbsp; You probably see where this is going: when your main network account isn't an administrator on someMachine, admin shares stop working.&amp;nbsp; It's not hard to add some trivially named shares and lose the '$', but it adds conscious thought to&amp;nbsp;commands that used to be rote.&amp;nbsp; Oh well.&lt;br&gt;&lt;/li&gt; &lt;li&gt;Soon as I set up FolderShare, it was stymied.&amp;nbsp; I didn't save the exact error message but it was along the lines of "FolderShare could not write to c:\program files\sync\foo\foo.exe.&amp;nbsp; Retry | Close"&amp;nbsp; First of all, how annoying is it that the only workaround is to close FolderShare?&amp;nbsp; Can't you just disable that library?&amp;nbsp; So begins the only true debugging challenge.&lt;/li&gt; &lt;ol&gt; &lt;li&gt;We all know non-admins can't write to Program Files, so step 1 was to grant Modify permission to the Users group on Program Files\Sync.**&amp;nbsp; Click Retry.&amp;nbsp; No dice.&lt;/li&gt; &lt;li&gt;I notice my account is not actually a member of Users, but of Remote Desktop Users.&amp;nbsp; I try manually adding myself to Users as well.&amp;nbsp; (if that fixed it, i.e. RD Users didn't inherit User permissions, I would have to yell at someone!)&amp;nbsp; Somewhere in here I also discover the new Effective Permissions tab in the shell.&amp;nbsp; Very nice...and confirms that this is not the problem.&amp;nbsp; Retry fails again.&lt;/li&gt; &lt;li&gt;Time for &lt;a href="http://www.microsoft.com/technet/sysinternals/processesandthreads/processmonitor.mspx"&gt;Process Monitor&lt;/a&gt;.&amp;nbsp; Since FolderShare hasn't been able to drop my toolset into place yet, I manually download it to Program Files\Sync\SysInternals\procmon.exe.&amp;nbsp; Before I can fire it up, though, I notice that accevent32.exe, accexplorer32.exe, etc. are starting to appear in the folder I just created!&amp;nbsp; I manually create another folder under Sync, and sure enough files (but no subfolders) start being pushed there too.&lt;/li&gt; &lt;li&gt;Armed with the theory that I've somehow granted a set of ACLs that allows new files but not new folders, I head back to my elevated shell and give my user Full Control + ownership.&amp;nbsp; Doesn't help.&lt;/li&gt; &lt;li&gt;So, I need ProcMon after all.&amp;nbsp; Filtering on foldershare.exe and the Sync dir, I see that among a sea of successful Querys that CreateFile attempts on Sync's subfolders come back as REPARSE, but there are no actual failures in sight.&amp;nbsp;&amp;nbsp;Mysterious.&amp;nbsp; I know all about NTFS reparse points, but that sequence of calls &amp;amp; return values tells me nothing.&amp;nbsp; Luckily ProcMon has an awesome feature that displays the full stack of each filesystem call.&amp;nbsp; This quickly tells me that foldershare is actually calling RenameFile(), not CreateFile().&amp;nbsp;&amp;nbsp;Thus, the piece of activity I'm looking at is actually the behavior of an internal Windows function.&amp;nbsp; Furthermore, it's now obvious what's happening (or failing to happen): FolderShare must download to a temp location and then move completed items into place.&amp;nbsp; Still, why would moving from A to B require any more permissions than creating something at B?&lt;/li&gt; &lt;li&gt;Regardless, I know I must remove my path filter.&amp;nbsp; It's ugly -- as I knew from past experience, an unfiltered FolderShare loves to fill up ProcMon logs with hundreds of thousands of entries.&amp;nbsp; But I know what I'm looking for: some sort of anomaly around creating + moving temp files.&amp;nbsp; I soon find it when I spot activity not only under the expected c:\foldersharetemp, but under c:\Users\me\AppData\Local\VirtualStore.&amp;nbsp; Hooray for the vastly simplified name of these directories!&amp;nbsp; But what is VirtualStore?&amp;nbsp; Quick Google tells me it's the root for filesystem redirection: something I'd experienced firsthand in my testing around WOW64, and that I'd read would be used for lots of shimming in Vista, but had not really put 2 &amp;amp; 2 together.&amp;nbsp; I'm also quickly reminded that shimming can be turned off by providing a manifest for your binaries.&lt;/li&gt; &lt;li&gt;So, what does a manifest for a native app look like anyway?&amp;nbsp; Web searches lead me to tons of pages telling me how to add manifests to the Visual Studio build process, a few pages describing the schema for manifests on managed code, but precious little on native code.&amp;nbsp; Surely the format whose root XML node is "assembly" is for managed code only, right?&amp;nbsp; Sadly, the web offers no alternatives, so I copy/paste a sample anyway &amp;amp; restart Foldershare.&amp;nbsp; &lt;/li&gt; &lt;li&gt;Won't load.&amp;nbsp; Syntax error or wrong schema entirely?&amp;nbsp; The event log won't tell me, so all I can do is optimistically eyeball the syntax and try again.&amp;nbsp; Before long Foldershare loads and happily starts writing to Program Files\Sync.&amp;nbsp; &lt;strong&gt;Success&lt;/strong&gt;!&amp;nbsp; So yes, fair web travelers: those manifest samples full of tags like &lt;em&gt;&amp;lt;assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="Sample" type="win32" /&amp;gt; &lt;/em&gt;really do apply to native code.&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt; &lt;p&gt;**this is where I store apps that don't require installation, making them perfect for FolderSharing.&amp;nbsp; Command line tools, sysinternals, dozens of A/V applets, and lots of misc cool stuff.&amp;nbsp; This category of apps also tends to be freeware or open source, which lead to frequent updates.&amp;nbsp; Finally, a lot of them write user data to their containing folder, either because they're cross-platform or simply amateurish.&amp;nbsp; Thus ends my justification for breaking the principle of least privilege.&lt;/p&gt; &lt;p&gt;Wow.&amp;nbsp; This became a heckuva long post, especially for the offtopic&amp;nbsp;category.&amp;nbsp;&amp;nbsp;Despite my earlier self-deprecation the fact is&amp;nbsp;I'm &lt;em&gt;not &lt;/em&gt;ignorant of MS tech trends, especially relative to the huge non-Softie world out there.&amp;nbsp; I knew upfront my first few days under LUA would present trials, yet more than once I found myself wishing&amp;nbsp;the causes &amp;amp; solutions were easier to find.&amp;nbsp; I do know our published info &amp;amp; general transparency is better than it's ever been, and will continue to improve.&amp;nbsp; Novel length or not, I sincerely hope blogging my experiences adds to that momentum in some small way.&lt;/p&gt; &lt;p&gt;Soon as I publish, my next move will literally be Start -&amp;gt; Shut Down, rebooting onto a DVD and into a brave new world.&amp;nbsp; Farewell, dear c:\.&amp;nbsp; See ya on the other side.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1300219" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/richardb/archive/tags/microsoft/default.aspx">microsoft</category><category domain="http://blogs.msdn.com/richardb/archive/tags/personal/default.aspx">personal</category></item></channel></rss>