<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Blogging</title>
        <link>http://davestechshop.net/category/10.aspx</link>
        <description>Technology to support bloggers. This blog runs on SubText (which is written in C#), so we will keep a keen eye on SubText progress. However, all blogging technologies are of interest.</description>
        <language>en-US</language>
        <copyright>davestechshop.net</copyright>
        <managingEditor>blogauthor@davestechshop.net</managingEditor>
        <generator>Subtext Version 1.9.0.27</generator>
        <item>
            <title>Adding Social Bookmarking to Community Server 2008 Or Any Website</title>
            <link>http://davestechshop.net/archive/2008/06/04/2029.aspx</link>
            <description>Here is an excellent article on how to use the "&lt;a href="javascript:void(0);/*1212603498846*/"&gt;addthis.com&lt;/a&gt;" widget with Community Server by mystyleit:&lt;br /&gt;
&lt;a href="javascript:void(0);/*1212603417599*/"&gt;http://mystyleit.com/blogs/mystyleit/archive/2008/02/07/adding-social-bookmarking-to-community-server-2007.aspx&lt;/a&gt;&lt;br /&gt;
I used the instructions with Community Server 2008 without any modification even though they were written for CS 2007.&lt;br /&gt;
&lt;br /&gt;
In case it is not clear in the original post, here are my steps:&lt;br /&gt;
&lt;ol&gt;
    &lt;li&gt;sign up with &lt;a href="javascript:void(0);/*1212603498846*/"&gt;addthis.com&lt;/a&gt;  &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;get your button code from addthis.com. I used the "website" button version and the dropdown style option.&lt;/li&gt;
    &lt;li&gt;URL encode the button code you got from  &lt;a href="javascript:void(0);/*1212603498846*/"&gt;addthis.com&lt;/a&gt;   using &lt;a href="http://www.albionresearch.com/misc/urlencode.php"&gt;http://www.albionresearch.com/misc/urlencode.php&lt;/a&gt; &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;paste the URL encoded button code into the &lt;strong&gt;&lt;em&gt;PasteHere &lt;/em&gt;&lt;/strong&gt;variable in the line below, which is the &lt;span style="font-style: italic;"&gt;new config element&lt;/span&gt;:&lt;br /&gt;
    &amp;lt;add name = "SPWReferItModule" type = "SPWorks.CS.Freeware.SPWReferIt,SPWorks.CS.Freeware" ReferLinks="&lt;strong&gt;&lt;em&gt;PasteHere&lt;/em&gt;&lt;/strong&gt;" /&amp;gt; &lt;/li&gt;
    &lt;li&gt;paste the entire &lt;span style="font-style: italic;"&gt;new config element&lt;/span&gt;  as modified by step 4 (e.g., &amp;lt;add name ... /&amp;gt;) into CommuntyServer.config at the end of the CSModules element.&lt;/li&gt;
&lt;/ol&gt;&lt;img src="http://davestechshop.net/aggbug/2029.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>davestechshop.net</dc:creator>
            <guid>http://davestechshop.net/archive/2008/06/04/2029.aspx</guid>
            <pubDate>Wed, 04 Jun 2008 14:30:47 GMT</pubDate>
            <wfw:comment>http://davestechshop.net/comments/2029.aspx</wfw:comment>
            <comments>http://davestechshop.net/archive/2008/06/04/2029.aspx#feedback</comments>
            <wfw:commentRss>http://davestechshop.net/comments/commentRss/2029.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Get a Free .COM Domain Name</title>
            <link>http://davestechshop.net/archive/2007/08/21/1219.aspx</link>
            <description>&lt;span style="font-weight: bold;"&gt;I'm going to give away some .com domain names for free. &lt;/span&gt;Here is the list of free domain names:&lt;br /&gt;
&lt;br /&gt;
&lt;font size="4"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Sorry, this offer is over now. &lt;/span&gt;&lt;/font&gt;&lt;br /&gt;
&lt;br /&gt;
However, for the right project, I may have a couple more domain names I'd be willing to give away. These include:&lt;br /&gt;
&lt;br /&gt;
SEQUM.COM&lt;br /&gt;
HUBUM.COM&lt;br /&gt;
BLOG-ABILITY.COM&lt;br /&gt;
SPANISH-BLOG.COM&lt;br /&gt;
OWNBLOGGING.COM&lt;br /&gt;
HIPREPORT.COM&lt;br /&gt;
&lt;br /&gt;
Contact me if you want one of these domains names for free. Most are paid through Oct 2008 as of this moment.&lt;img src="http://davestechshop.net/aggbug/1219.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>davestechshop.net</dc:creator>
            <guid>http://davestechshop.net/archive/2007/08/21/1219.aspx</guid>
            <pubDate>Tue, 21 Aug 2007 12:26:29 GMT</pubDate>
            <wfw:comment>http://davestechshop.net/comments/1219.aspx</wfw:comment>
            <comments>http://davestechshop.net/archive/2007/08/21/1219.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://davestechshop.net/comments/commentRss/1219.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Checklist for Moving to A New Webserver</title>
            <link>http://davestechshop.net/archive/2007/06/10/ChecklistForMovingToANewWebserver.aspx</link>
            <description>Does anyone have a checklist of the things they do when moving client websites to a new server? This is a quick list I threw together from memory. The next time I do this, I will keep exact notes and update this post. This info applies to a dedicated server or a virtual private server (VPS) hosting account running Windows 2003.&lt;br /&gt;
&lt;br /&gt;
If you have a similar checklist, please leave me a link.&lt;br /&gt;
&lt;br /&gt;
As you'll see below, I set up some very limited access user accounts and there are a few extra steps because of this.&lt;br /&gt;
&lt;ol&gt;
    &lt;li&gt;rename all standard user accounts such as “Administrator”; and make sure “Guest” account is disabled&lt;/li&gt;
    &lt;li&gt;change Remote Desktop Connection port (see &lt;a href="http://support.microsoft.com/kb/306759"&gt;http://support.microsoft.com/kb/306759&lt;/a&gt; -- ONLY takes effect after a REBOOT!) &lt;/li&gt;
    &lt;li&gt;set up Windows firewall on new server. Add exceptions for:
    &lt;ol&gt;
        &lt;li&gt;RDC (custom port)&lt;/li&gt;
        &lt;li&gt;FTP&lt;/li&gt;
        &lt;li&gt;HTTP&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;create a special &lt;span style="font-style: italic;"&gt;very &lt;/span&gt;limited Windows account for FTP use.&lt;/li&gt;
    &lt;li&gt;get FTP working on new server
    &lt;ol&gt;
        &lt;li&gt;set up logging and upload folders for FTP&lt;br /&gt;
        &lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;create folder structure on new server. Here are some examples I use on a system with three drives:&lt;br /&gt;
    &lt;/li&gt;
    &lt;ol&gt;
        &lt;li&gt;D:\InetPub\Subtext&lt;/li&gt;
        &lt;li&gt;D:\SQLData\Subtext&lt;/li&gt;
        &lt;li&gt;E:\SQLLogs\Subtext&lt;/li&gt;
        &lt;li&gt;E:\Logs\WebLogs\websitename.com&lt;/li&gt;
        &lt;li&gt;E:\Settings\IIS (for config files, etc.)&lt;/li&gt;
        &lt;li&gt;Etc.&lt;/li&gt;
    &lt;/ol&gt;
    &lt;li&gt;install &lt;a href="http://forge.novell.com/modules/xfmod/project/?ntfslink"&gt;NTFS Link&lt;/a&gt; and set up junctions for Community Server as per &lt;a href="http://blog.davestechshop.net/archive/2006/10/22/CommunityServerMultipleCommunities.aspx"&gt;http://blog.davestechshop.net/archive/2006/10/22/CommunityServerMultipleCommunities.aspx&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;add Windows user account for LimitedWebAccount and make it a member of IIS_WPG on web server&lt;/li&gt;
    &lt;li&gt;add &lt;strong style=""&gt;read permissions for LimitedWebAccount account&lt;/strong&gt; to:
    &lt;ol&gt;
        &lt;li&gt;C:\WINDOWS\Temp (and maybe C:\temp) for LimitedWebAccount account&lt;/li&gt;
        &lt;li&gt;Logging folders&lt;/li&gt;
        &lt;li&gt;Website folders&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;install MS SQL
    &lt;ol&gt;
        &lt;li&gt;add login for LimitedWebAccount account&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;Add custom trust policy as per &lt;a href="http://blog.davestechshop.net/archive/2006/11/12/CustomTrustLevelForCommunityServer.aspx"&gt;http://blog.davestechshop.net/archive/2006/11/12/CustomTrustLevelForCommunityServer.aspx&lt;/a&gt; or &lt;a href="http://blog-howto.com/archive/2006/09/24/CustomizingTrustLevelPolicy.aspx"&gt;http://blog-howto.com/archive/2006/09/24/CustomizingTrustLevelPolicy.aspx&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;create config files for IIS web sites and app pools on existing server&lt;/li&gt;
    &lt;li&gt;edit IIS config files:
    &lt;ol&gt;
        &lt;li&gt;change server name&lt;/li&gt;
        &lt;li&gt;change logging folder&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;create database backups on existing server&lt;/li&gt;
    &lt;li&gt;copy website applications (CommunityServer, DNN, Subtext, etc.)
    &lt;ol&gt;
        &lt;li&gt;zip up all stuff on existing server&lt;/li&gt;
        &lt;li&gt;FTP it to new server&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;add security login for LimitedWebAccount to MSSQL&lt;/li&gt;
    &lt;li&gt;restore databases to new server&lt;/li&gt;
    &lt;li&gt;add custom app pools in IIS (use config file)
    &lt;ol&gt;
        &lt;li&gt;&lt;strong style=""&gt;set app pool Identity to LimitedWebAccount account &amp;amp; set password&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;add web sites from config file (after checking edits for new server)&lt;/li&gt;
    &lt;li&gt;copy website applications&lt;/li&gt;
    &lt;li&gt;edit web.config files for db connection string and folders&lt;/li&gt;
    &lt;li&gt;Set up backup jobs&lt;/li&gt;
    &lt;li&gt;Set up offsite backup (FTP transfer)&lt;/li&gt;
&lt;/ol&gt;&lt;img src="http://davestechshop.net/aggbug/1002.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>davestechshop.net</dc:creator>
            <guid>http://davestechshop.net/archive/2007/06/10/ChecklistForMovingToANewWebserver.aspx</guid>
            <pubDate>Sun, 10 Jun 2007 18:08:53 GMT</pubDate>
            <wfw:comment>http://davestechshop.net/comments/1002.aspx</wfw:comment>
            <comments>http://davestechshop.net/archive/2007/06/10/ChecklistForMovingToANewWebserver.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://davestechshop.net/comments/commentRss/1002.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A search engine optimization (SEO) rule all bloggers should know</title>
            <link>http://davestechshop.net/archive/2007/04/22/SearchEngineOptimization-SEO-RuleAllBloggersShouldKnow.aspx</link>
            <description>Check out this article for a &lt;a title="The Top SEO Rule Bloggers Need to Know" name="TheTopSEORuleBloggersNeedToKnow" href="http://www.blog-howto.com/archive/2007/04/22/TheTopSEORuleBloggersNeedToKnow.aspx"&gt;search engine optimization (SEO) rule all bloggers should know&lt;/a&gt;. The post suggests a simple habit we bloggers can change that will reduce the noise in search engine results, help drive quality traffic to the blogs we read, and improve the value of the content we provide to our readers.&lt;img src="http://davestechshop.net/aggbug/857.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>davestechshop.net</dc:creator>
            <guid>http://davestechshop.net/archive/2007/04/22/SearchEngineOptimization-SEO-RuleAllBloggersShouldKnow.aspx</guid>
            <pubDate>Sun, 22 Apr 2007 11:25:10 GMT</pubDate>
            <wfw:comment>http://davestechshop.net/comments/857.aspx</wfw:comment>
            <comments>http://davestechshop.net/archive/2007/04/22/SearchEngineOptimization-SEO-RuleAllBloggersShouldKnow.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://davestechshop.net/comments/commentRss/857.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Ultimate List of RPC Ping Services For Your Blog</title>
            <link>http://davestechshop.net/archive/2007/01/21/592.aspx</link>
            <description>&lt;a href="http://blog.msrportal.com/index.php/about/"&gt;Matt Ridings&lt;/a&gt; has a nice list of blog ping services he calls, "&lt;a href="http://blog.msrportal.com/index.php/archives/ultimate-list-of-rpc-ping-services-for-your-blog/"&gt;Ultimate  List of RPC Ping Services For Your Blog&lt;/a&gt;". Use this list to get the word out that you have posted something new on your blog.&lt;br /&gt;
&lt;br /&gt;
Here is the list. All credit goes to Matt, and I'm sure he would appreciate a comment on his blog if you find this list useful. I'm simply passing along his good work.&lt;br /&gt;
&lt;br /&gt;
As &lt;a href="http://blog.msrportal.com/index.php/archives/ultimate-list-of-rpc-ping-services-for-your-blog/"&gt;Matt says&lt;/a&gt;, "Check to see if your blogging tool or software requires a separator (such as  a semicolon, comma, etc.) between each item, and if so be sure to add it before  pasting into your tool.  For example, Community Server requires a semicolon  after each &lt;span title="Uniform Resource Locator" class="acronym"&gt;&lt;span class="caps"&gt;URL&lt;/span&gt;&lt;/span&gt;."&lt;br /&gt;
&lt;br /&gt;
&lt;font color="#008000"&gt;http://1470.net/api/ping&lt;br /&gt;
http://www.a2b.cc/setloc/bp.a2b&lt;br /&gt;
http://api.feedster.com/ping&lt;br /&gt;
http://api.moreover.com/RPC2&lt;br /&gt;
http://api.moreover.com/ping&lt;br /&gt;
http://api.my.yahoo.com/RPC2&lt;br /&gt;
http://api.my.yahoo.com/rss/ping&lt;br /&gt;
http://www.bitacoles.net/ping.php&lt;br /&gt;
http://bitacoras.net/ping&lt;br /&gt;
http://blogdb.jp/xmlrpc&lt;br /&gt;
http://www.blogdigger.com/RPC2&lt;br /&gt;
http://blogmatcher.com/u.php&lt;br /&gt;
http://www.blogoole.com/ping/&lt;br /&gt;
http://www.blogoon.net/ping/&lt;br /&gt;
http://www.blogpeople.net/servlet/weblogUpdates&lt;br /&gt;
http://www.blogroots.com/tb_populi.blog?id=1&lt;br /&gt;
http://www.blogshares.com/rpc.php&lt;br /&gt;
http://www.blogsnow.com/ping&lt;br /&gt;
http://www.blogstreet.com/xrbin/xmlrpc.cgi&lt;br /&gt;
http://blog.goo.ne.jp/XMLRPC&lt;br /&gt;
http://bulkfeeds.net/rpc&lt;br /&gt;
http://coreblog.org/ping/&lt;br /&gt;
http://www.lasermemory.com/lsrpc/&lt;br /&gt;
http://mod-pubsub.org/kn_apps/blogchatt&lt;br /&gt;
http://www.mod-pubsub.org/kn_apps/blogchatter/ping.php&lt;br /&gt;
http://www.newsisfree.com/xmlrpctest.php&lt;br /&gt;
http://ping.amagle.com/&lt;br /&gt;
http://ping.bitacoras.com&lt;br /&gt;
http://ping.blo.gs/&lt;br /&gt;
http://ping.bloggers.jp/rpc/&lt;br /&gt;
http://ping.blogmura.jp/rpc/&lt;br /&gt;
http://ping.cocolog-nifty.com/xmlrpc&lt;br /&gt;
http://ping.exblog.jp/xmlrpc&lt;br /&gt;
http://ping.feedburner.com&lt;br /&gt;
http://ping.myblog.jp&lt;br /&gt;
http://ping.rootblog.com/rpc.php&lt;br /&gt;
http://ping.syndic8.com/xmlrpc.php&lt;br /&gt;
http://ping.weblogalot.com/rpc.php&lt;br /&gt;
http://ping.weblogs.se/&lt;br /&gt;
http://pingoat.com/goat/RPC2&lt;br /&gt;
http://www.popdex.com/addsite.php&lt;br /&gt;
http://rcs.datashed.net/RPC2/&lt;br /&gt;
http://rpc.blogbuzzmachine.com/RPC2&lt;br /&gt;
http://rpc.blogrolling.com/pinger/&lt;br /&gt;
http://rpc.icerocket.com:10080/&lt;br /&gt;
http://rpc.pingomatic.com/&lt;br /&gt;
http://rpc.technorati.com/rpc/ping&lt;br /&gt;
http://rpc.weblogs.com/RPC2&lt;br /&gt;
http://www.snipsnap.org/RPC2&lt;br /&gt;
http://trackback.bakeinu.jp/bakeping.php&lt;br /&gt;
http://topicexchange.com/RPC2&lt;br /&gt;
http://www.weblogues.com/RPC/&lt;br /&gt;
http://xping.pubsub.com/ping/&lt;br /&gt;
http://xmlrpc.blogg.de/&lt;/font&gt;&lt;img src="http://davestechshop.net/aggbug/592.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>davestechshop.net</dc:creator>
            <guid>http://davestechshop.net/archive/2007/01/21/592.aspx</guid>
            <pubDate>Sun, 21 Jan 2007 21:35:04 GMT</pubDate>
            <wfw:comment>http://davestechshop.net/comments/592.aspx</wfw:comment>
            <comments>http://davestechshop.net/archive/2007/01/21/592.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://davestechshop.net/comments/commentRss/592.aspx</wfw:commentRss>
        </item>
        <item>
            <title>URL Dogma for Community Server</title>
            <link>http://davestechshop.net/archive/2007/01/10/URL-Dogma-for-CommunityServer.aspx</link>
            <description>&lt;p&gt;A long time ago I read &lt;a href="http://www.interact-sw.co.uk/iangblog/2004/01/12/shinyurl"&gt;Ian G's blog post about URI design&lt;/a&gt; and his approach immediately appealed to me. His ideas on this subject continue to withstand the test of time, so I recently decided to implement this design for Community Server. Next I may attempt to do the same thing with Subtext, which runs this blog.&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Ian's stated goals for his URL design were: &lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;No extensions (e.g. .aspx) or other implementation artifacts. The fact that I’m using .aspx pages internally is of no real relevance to anything, so it has no business appearing in a web browser’s address bar – I want the name of the page to be the name of the page, no more, no less. I also want the name to be durable, so that whenever I switch over from .aspx pages to whatever technology comes next, I don’t break any links. &lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;‘Hackability,’ as Jakob Nielsen calls it. In other words, the user should be able to munge the URL by hand in the address bar and have it behave like it looks like it should behave. &lt;br /&gt;
    &lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;font face="Arial"&gt;These goals are in tune with another good article on URI design by Mike Amundsen: see &lt;a class="" href="http://mikeamundsen.spaces.live.com/blog/cns!77111D9765E07CD1!385.entry"&gt;what makes a good URL&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;I believe I have now accomplished the implementation of these URI design goals for Community Server and I'll show you how in this post. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Below is an example of what my URIs look like now. From the blog post URL shown below, each URL segment can be hacked off and the resulting URL is valid and works as one would expect.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;http://mydomain.com/blogs/myblog/2006/11/12/my-blog-post-name&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;http://mydomain.com/blogs/myblog/2006/11/12&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;http://mydomain.com/blogs/myblog/2006/11&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;http://mydomain.com/blogs/myblog/2006 (this one probably isn't ideal. Currently, for CS, I just show January for the year instead of showing the whole year)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;http://mydomain.com/blogs/myblog&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;http://mydomain.com/blogs&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;http://mydomain.com&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;I was able to accomplish this implementation with two fairly simple changes to Community Server. The change that took the most work to get right was &lt;a title="Zip File Download" href="http://blog.davestechshop.net/downloads/Example.SiteUrls.zip"&gt;my revised SiteUrls.config&lt;/a&gt;. (Clicking that link will download a zip archive containing the actual SiteUrls.config file I'm using on a production web site.) If you drop this config file into your Community Server installation, your blog URLs will look and act just like the example shown above -- as soon as you take care of the second step of my solution.&lt;/p&gt;
&lt;p&gt;The second step was much easier for me to implement, but it does involve modifying code. I posted about &lt;a href="http://communityserver.org/forums/permalink/561581/561581/ShowThread.aspx#561581"&gt;this code change on the CS forums&lt;/a&gt;. In ReWrittenUrl.cs, the Convert method had to be refactored as shown here:&lt;/p&gt;
&lt;span&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;virtual&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; Convert(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; url, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; qs)&lt;br /&gt;
{&lt;br /&gt;
  &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; newUrl = _regex.Replace(url, _path);&lt;br /&gt;
  &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt;(qs != &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;font size="2"&gt; &amp;amp;&amp;amp; newUrl.Contains(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;"?"&lt;/font&gt;&lt;font size="2"&gt;)) &lt;br /&gt;
  &lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;
    &lt;/font&gt;&lt;font size="2"&gt;qs = qs.Replace(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;"?"&lt;/font&gt;&lt;font size="2"&gt;,&lt;/font&gt;&lt;font color="#800000" size="2"&gt;"&amp;amp;"&lt;/font&gt;&lt;font size="2"&gt;);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt;.Format(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;"{0}{1}"&lt;/font&gt;&lt;font size="2"&gt;, newUrl, qs);&lt;br /&gt;
}&lt;/font&gt; &lt;/span&gt;
&lt;p&gt;As I said, it ended up being a really simple change and it doesn't alter any of Community Server's standard behavior.&lt;/p&gt;
&lt;p&gt;I believe the easiest way to deal with this is to build a new CommunityServer.Components.dll using the code shown above and then drop this assembly into your \Web\bin folder. In fact, I'll provide such a dll for CS 2.1 SP2 here if enough people request it.&lt;/p&gt;
&lt;p&gt;The installation steps are:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;&lt;strong&gt;Enable wildcard mapping in IIS.&lt;/strong&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Back up your old SiteUrls.config and replace it with my SiteUrls.config.&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;Drop the modified CommunityServer.Components.dll into \Web\bin.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please share your feedback with me. Let me know if you have problems with any of my modifications. And if you extend this implementation with success, please contact me and let me know, in keeping with the open source spirit.&lt;/p&gt;&lt;img src="http://davestechshop.net/aggbug/531.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>davestechshop.net</dc:creator>
            <guid>http://davestechshop.net/archive/2007/01/10/URL-Dogma-for-CommunityServer.aspx</guid>
            <pubDate>Wed, 10 Jan 2007 11:53:56 GMT</pubDate>
            <wfw:comment>http://davestechshop.net/comments/531.aspx</wfw:comment>
            <comments>http://davestechshop.net/archive/2007/01/10/URL-Dogma-for-CommunityServer.aspx#feedback</comments>
            <slash:comments>14</slash:comments>
            <wfw:commentRss>http://davestechshop.net/comments/commentRss/531.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Google Apps For Your Domain</title>
            <link>http://davestechshop.net/archive/2006/10/28/GoogleAppsForYourDomain.aspx</link>
            <description>&lt;p&gt;If you have a web site (including a blog) at your own domain name, you should check out &lt;font face="Arial"&gt;&lt;a title="Opens in new window" target="_blank" href="https://www.google.com/a/"&gt;Google Apps For Your Domain&lt;/a&gt;. For those of us running small web sites with &lt;strong&gt;dynamic IP addresses&lt;/strong&gt;, you can find my instructions for setting up Google Apps For Your Domain using a &lt;strong&gt;free&lt;/strong&gt; dynamic DNS service &lt;a title="Opens in same window" href="http://www.blog-howto.com/archive/2006/10/28/GoogleMailForYourDomain.aspx"&gt;here&lt;/a&gt;. This option represents the best value I have found for maintaining a professional web presence on a budget.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://davestechshop.net/aggbug/369.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>davestechshop.net</dc:creator>
            <guid>http://davestechshop.net/archive/2006/10/28/GoogleAppsForYourDomain.aspx</guid>
            <pubDate>Sat, 28 Oct 2006 15:10:08 GMT</pubDate>
            <wfw:comment>http://davestechshop.net/comments/369.aspx</wfw:comment>
            <comments>http://davestechshop.net/archive/2006/10/28/GoogleAppsForYourDomain.aspx#feedback</comments>
            <wfw:commentRss>http://davestechshop.net/comments/commentRss/369.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Community Server - Setting Up Multiple Communities</title>
            <link>http://davestechshop.net/archive/2006/10/22/CommunityServerMultipleCommunities.aspx</link>
            <description>&lt;p&gt;&lt;font color="#ff0000"&gt;UPDATED 10/25/2006&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://communityserver.org/Default.aspx" target="_blank" title="Opens in new window"&gt;&lt;font color="#0000ff"&gt;Community Server&lt;/font&gt;&lt;/a&gt; ("CS") supports &lt;strong&gt;multiple&lt;/strong&gt; communities with a &lt;strong&gt;single&lt;/strong&gt; installation of the software (and a single database). &lt;/p&gt;
&lt;p&gt;However, if you want &lt;strong&gt;true independence of those communities&lt;/strong&gt;, as you would get when setting up multiple portals in DotNetNuke, for example, that is &lt;a href="http://forums.communityserver.org/forums/thread/550189.aspx" target="_blank" title="Opens in new window"&gt;not easy to achieve&lt;/a&gt; in CS version 2.1. However, I believe it can be done.&lt;/p&gt;
&lt;p&gt;By true independence, I mean, for example, that the navigation menus of each community should be independent so that if you want to add navigation tabs to one community without affecting the others, you can do that. Other factors include things like not having conflicts between content folder names: if two communities name a photo gallery "My Gallery" that should not lead to problems. And, of course, all the configuration options (including those in communityserver.config, SiteUrls.config and web.config) should be independent.&lt;/p&gt;
&lt;p&gt;Here is the approach I am taking. (This approach is now at version 2, but it should still be considered experimental. I do have it working on my web server, but I have not been using it long enough to verify that I have covered all possible situations.)&lt;/p&gt;
&lt;p&gt;In the steps below, you will notice that I did not edit SiteUrls.config to change the locations of blogs, files, or photos. I considered doing that in order to give each community separate locations for these items by only changing the config file, but it doesn't work as well as I would like. One approach I considered would have added another folder name in the path, and that made the URL longer by one path. I personally didn't like that. Another approach to editing SiteUrls.config that I considered was to just give each folder a unique name for each community. For example, the folder &lt;em&gt;blogs&lt;/em&gt; would become &lt;em&gt;Domain1Blogs&lt;/em&gt; in the SiteUrls.config file for Domain1. That might not be a bad approach, but I didn't use it because it mixed the custom content for each community with the generic content of the application files in a way I didn't like. There doesn't seem to be a perfect solution given CS's approach to URL rewriting, but the approach I took below represented the best compromise I could find while still achieving my goals. (In the future, after I become more familiar with the Community Server source code, I may look into incorporating &lt;a href="http://www.urlrewriting.net/en/Default.aspx" target="_blank" title="Opens in new window"&gt;UrlRewritingNet.UrlRewrite&lt;/a&gt; because it doesn't require physical folders the way CS's approach does. Now, on to the steps.&lt;/p&gt;
&lt;p&gt;I installed CS on my web server at C:\InetPub\CommunityServer\Web. I installed it in one physical location with one database and I didn't do anything out of the ordinary in this installation. Below is my folder structure.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;C:\
    &lt;ul&gt;
        &lt;li&gt;InetPub
        &lt;ul&gt;
            &lt;li&gt;CommunityServer
            &lt;ul&gt;
                &lt;li&gt;Web &lt;/li&gt;
                &lt;li&gt;Domain1 &lt;/li&gt;
                &lt;li&gt;Domain2 &lt;/li&gt;
            &lt;/ul&gt;
            &lt;/li&gt;
        &lt;/ul&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I added &lt;strong&gt;empty&lt;/strong&gt; folders for my two independent communities, called Domain1 and Domain2. As this implies, each of my communities has its own domain name and I used the actual names for the folders. (Don't use a generic folder name like Domain1 used in this example.) You can add as many communities as you wish using this procedure, but I assume two in this example.&lt;/p&gt;
&lt;p&gt;Edit the config files to establish any settings that you want to have apply to all the communities. One of these changes will be to modify the communityserver.config file to set enableVirtualization="true" (the default is false). You can find this setting in the "Core" section. Go ahead and do that now.&lt;/p&gt;
&lt;p&gt;Copy all the files (&lt;strong&gt;not the folders&lt;/strong&gt;) in Web to Domain1 and Domain2. (You could actually remove these files from Web afterwards if you don't plan to use that "default" community. But you might find having that default community operational is useful for administration purposes.) &lt;/p&gt;
&lt;p&gt;The folders Domain1 and Domain2 will now contain Web.config, SiteUrls.config, communityserver.config, Default.aspx, login.aspx, etc. I count 16 files.&lt;/p&gt;
&lt;p&gt;Use &lt;a href="http://www.elsdoerfer.info/ntfslink/" target="_blank" title="Opens in new window"&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;NTFS Link&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;  (more info &lt;a href="http://shell-shocked.org/article.php?id=284" target="_blank"&gt;&lt;font color="#0000ff"&gt;here&lt;/font&gt;&lt;/a&gt;) to create junctions in Domain1 for all the folders in Web (except Themes, blogs, files, and photos). Do the same for Domain2. Excluding the Themes folder gives complete independence in skinning each community. You need to exclude the blogs, files and photos folders to give each community's content complete independence. &lt;/p&gt;
&lt;p&gt;I count 18 folders linked by the "Create Junction Here" function in NTFS link. These folders include bin, aspnet_client, bin, etc., all the way to User and Utility. &lt;/p&gt;
&lt;p&gt;Now copy, in the normal fashion, the folders you excluded when creating the junctions. Copy them from Web to Domain1 and again to Domain2.&lt;/p&gt;
&lt;p&gt;Now you have &lt;strong&gt;only one set of binaries&lt;/strong&gt; (in the bin folder), even though the junctions make it appear that there is a bin folder inside each community's root folder. There is indeed only a single bin folder. There is just one set of most of the application files too. However, you have multiple copies of a few folders where Community Server's virtualization shortcomings have to be overcome through physically separate files/folders. &lt;/p&gt;
&lt;p&gt;The next two steps are courtesy of &lt;a href="http://communityserver.org/forums/permalink/550587/550702/ShowThread.aspx#550702" target="_blank"&gt;&lt;font color="#0000ff"&gt;vmarquez and haathi&lt;/font&gt;&lt;/a&gt; on the CS forums:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;In the web.config file for Domain1 search for applicationName and change the value. In my case, I found applicationName="dev" and replaced it with applicationName="Domain1" in 3 places. &lt;/li&gt;
    &lt;li&gt;Also in web.config change the cookieName value in the roleManager section from ".CSRoles" to ".Domain1Roles". &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Repeat the above two steps for Domain2.&lt;/p&gt;
&lt;p&gt;I researched these steps before setting up my own server, and I took the advice above right from the start. However, I also noticed that I could (and possibly &lt;em&gt;&lt;strong&gt;must&lt;/strong&gt;&lt;/em&gt;) go into Control Panel &amp;gt; Administration &amp;gt; Membership &amp;gt; Cookies and Anonymous Settings and specify values for the following items:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Roles Cookie Name (I used &lt;em&gt;.Domain1Roles&lt;/em&gt;)&lt;/li&gt;
    &lt;li&gt;Anonymous Cookie Name (I used &lt;em&gt;Domain1&lt;/em&gt;&lt;font face="Arial"&gt;&lt;em&gt;Anonymous&lt;/em&gt;)&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;Cookie Domain (I used &lt;em&gt;domain1.com&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Knowing that .TEXT actually stores the configuration values in the database and uses the config files for initial default values only, I assume Community Server is doing the same thing. Therefore, I'm not sure how much is gained by changing the values for the cookies in web.config. In my case, it didn't seem to have an effect on the initial (and incorrect) values that were present in the Control Panel.&lt;/p&gt;
&lt;p&gt;In IIS, I set up new web sites (not virtual directories) for Domain1 and Domain2. My web server is running Windows Server 2003, so I can set up multiple web sites. However, new virtual directories will also work.&lt;/p&gt;
&lt;p&gt;I pointed the web site for Domain1 to C:\InetPub\CommunityServer\Domain1. I set up a second new web site for Domain2 and pointed it at C:\InetPub\CommunityServer\Domain2. I &lt;a href="http://www.iisanswers.com/Top10FAQ/t10-hostheaders.htm" target="_blank"&gt;&lt;font color="#0000ff"&gt;set up host headers&lt;/font&gt;&lt;/a&gt; for each web site. Otherwise, nothing special is required in the IIS settings for these web sites.&lt;/p&gt;
&lt;p&gt;In your Community Server database, run the cs_system_CreateCommunity stored procedure for each of the communities. More info about this proc is here: &lt;a href="http://developer.communityserver.org/default.aspx/CS.MultipleCommunityInstallations"&gt;&lt;font color="#0000ff"&gt;http://developer.communityserver.org/default.aspx/CS.MultipleCommunityInstallations&lt;/font&gt;&lt;/a&gt;. You can also find a nice (and simple) summary at &lt;a href="http://dbvt.com/blog/archive/2006/05/21/4605.aspx" target="_blank"&gt;&lt;font color="#0000ff"&gt;Dave Burke's blog&lt;/font&gt;&lt;/a&gt;. What it boils down to is executing this sproc with your own parameters.&lt;/p&gt;
&lt;blockquote dir="ltr"&gt;
&lt;p&gt;USE [CommunityServer]&lt;br /&gt;
GO &lt;br /&gt;
DECLARE @return_value int &lt;br /&gt;
EXEC @return_value = [dbo].[cs_system_CreateCommunity]&lt;br /&gt;
@SiteUrl = N'Domain1.com',&lt;br /&gt;
@ApplicationName = N'Domain1.com',&lt;br /&gt;
@AdminEmail = N'yourname@Domain1.com',&lt;br /&gt;
@AdminUserName = N'YourAdmin',&lt;br /&gt;
@AdminPassword = N'YourPassword',&lt;br /&gt;
@PasswordFormat = 0,&lt;br /&gt;
@CreateSamples = 0 &lt;br /&gt;
SELECT 'Return Value' = @return_value &lt;br /&gt;
GO &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;NOTE: Every time I have used a PasswordFormat=1, I have been &lt;strong&gt;unable to sign in&lt;/strong&gt; to the admin account that gets created. If this happens to you, join as another user, then access your CS database with a tool such as SQL Server Management Studio. Copy the Password and PasswordSalt from the account you created to the admin account. You can then sign in with the admin account and set the password as you desire.&lt;/p&gt;
&lt;p&gt;My hope is to improve these steps even further in the future (unless &lt;a href="http://weblogs.asp.net/rhoward/archive/2006/09/05/Community-Server-3.0_2C00_-Codename-_2200_Calypso_2200_.aspx" target="_blank" title="Opens in new window"&gt;Community Server 3.0&lt;/a&gt; addresses this issue before then). As I discover improvements, I'll update this post. &lt;/p&gt;
&lt;p&gt;Also, I want you to know that I have this setup working, but I have only been using it for a few weeks. As I continue to customize CS or add more communities, I may find that there are some disadvantages to my approach. If that turns out to be the case, I'll let you know. My expectation is that - in the worst case - there may be another folder or two that needs to be duplicated rather than symbolically linked. &lt;/p&gt;
&lt;p&gt;If you are responsible for backing up your web server, you may want to give a little thought to how your backup software handles symbolic links. It might see the folder content as completely independent and create multiple backups of the same files. I personally excluded the folders Domain1 and Domain2 from my backup settings. When I create custom themes for those domains, I will manually backup those themes. I do not know how a restore would handle the symbolic links either.&lt;/p&gt;
&lt;p&gt;You might also want to give some thought to whether you want to run each web site in its own application pool or run all Community Server sites in a single application pool in IIS. I'm running mine all in a single application pool, but I can easily change that in the future if I wish.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;: The setup I have described centralizes all file system content (except Themes) in one place on the file system because that was my goal. I didn't want multiple copies of Community Server installed in order to support multiple separate communities. I wanted one copy of the software and one database with multiple independent communities. However, anywhere CS has a "break down" in its virtualization architecture, something will have to be duplicated on the file system. The need to duplicate SiteUrls.config, for example, led to the whole symbolic linking approach which essentially allows multiple config files for one installation of the software. The need to have independent themes led to the requirement to copy/duplicate the Themes folder. If you have special needs, you may find yourself duplicating other storage folders. And at some point, if there are more than a few duplicated folders, it may make sense to either reorganize the default CS folder structure or just skip the symbolic links completely and settle for multiple copies of the software.&lt;/p&gt;&lt;img src="http://davestechshop.net/aggbug/345.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>davestechshop.net</dc:creator>
            <guid>http://davestechshop.net/archive/2006/10/22/CommunityServerMultipleCommunities.aspx</guid>
            <pubDate>Sun, 22 Oct 2006 14:52:19 GMT</pubDate>
            <wfw:comment>http://davestechshop.net/comments/345.aspx</wfw:comment>
            <comments>http://davestechshop.net/archive/2006/10/22/CommunityServerMultipleCommunities.aspx#feedback</comments>
            <slash:comments>10</slash:comments>
            <wfw:commentRss>http://davestechshop.net/comments/commentRss/345.aspx</wfw:commentRss>
        </item>
        <item>
            <title>w.bloggar is back</title>
            <link>http://davestechshop.net/archive/2006/09/04/wbloggarrebirths.aspx</link>
            <description>&lt;p&gt;w.bloggar is &lt;a target="_blank" href="http://www.wbloggar.com/"&gt;back&lt;/a&gt;. That's good news. (Windows Live Writer isn't working so well for me.)&lt;/p&gt;
&lt;p&gt;However, now I see that the Wikipedia &lt;a target="_blank" href="http://en.wikipedia.org/wiki/W.bloggar"&gt;entry&lt;/a&gt; for w.bloggar is being considered for deletion. I personally feel the entry should be kept. If you feel the same way, head on over to &lt;a href="http://en.wikipedia.org/wiki/W.bloggar"&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://davestechshop.net/aggbug/171.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>davestechshop.net</dc:creator>
            <guid>http://davestechshop.net/archive/2006/09/04/wbloggarrebirths.aspx</guid>
            <pubDate>Mon, 04 Sep 2006 22:00:10 GMT</pubDate>
            <wfw:comment>http://davestechshop.net/comments/171.aspx</wfw:comment>
            <comments>http://davestechshop.net/archive/2006/09/04/wbloggarrebirths.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://davestechshop.net/comments/commentRss/171.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Screen Capture Tool for Dual Monitors</title>
            <link>http://davestechshop.net/archive/2006/09/04/MWSnapVsSnagIt.aspx</link>
            <description>&lt;p&gt;I have been using &lt;a target="_blank" href="http://www.mirekw.com/winfreeware/mwsnap.html"&gt;MWSnap&lt;/a&gt; for a long time. It is generally considered one of the best free screen capture tools. &lt;/p&gt;
&lt;p&gt;There are a surprising number of comments like the one below at the MWSnap &lt;a target="_blank" href="http://www.mirekw.com/forum.html"&gt;forum&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="1"&gt;Thu Jan 15, 2004 5:51 pm : MWSNAP is GREAT!&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;Thank you for offering this software for free&lt;/strong&gt;. It is extremenly useful in many ways. It is easy to use and does a great job capturing what I need. Before this I used to work between MS Paint and Windows Print Screen. This saves me alot of time and effort! &lt;br /&gt;
I would love to make a donation to show my gratitude. &lt;br /&gt;
-andrew&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I would not have needed to look at any other options except for one limitation of MWSnap: it does &lt;a target="_blank" href="http://www.midevel.net/forum/viewtopic.php?t=115&amp;amp;sid=350cc731458f15758127586be83d19a3"&gt;not work&lt;/a&gt; with dual &lt;a target="_blank" href="http://h10010.www1.hp.com/wwpc/us/en/sm/WF05a/382087-64283-444767-72270-444767-374664.html"&gt;monitors&lt;/a&gt;. (The &lt;a target="_blank" href="http://www.midevel.net/forum/viewtopic.php?t=115&amp;amp;sid=350cc731458f15758127586be83d19a3"&gt;link&lt;/a&gt; to the forum may not take you directly to the referenced post. On my last visit, the forum was having some minor problems.) &lt;/p&gt;
&lt;p&gt;I use Visual Studio 2005 almost all day. You have probably heard about all the bugs in VS 2005. One of the bugs apparently shows up only in certain dual monitor configurations - like mine. I found a work around for it by running most of my VS 2005 windows on monitor two. Unfortunately, MWSnap cannot access monitor two, so capturing images related to my work got to be really frustrating.&lt;/p&gt;
&lt;p&gt;I could not find any other good freeware alternatives to MWSnap that would support dual monitors. (See UPDATE below.) So I asked around and SnagIt seems to be the most highly regarded commercial product. It also earned a good &lt;a target="_blank" rel="nofollow" href="http://www.pcmag.com/article2/0,1895,1936101,00.asp"&gt;review&lt;/a&gt; at PC Magazine.&lt;/p&gt;
&lt;p&gt;I'll give you the conclusion right now: I am probably going to purchase SnagIt. (UPDATE: I didn't. I went with &lt;a target="_blank" href="http://www.ntwind.com/software/winsnap.html"&gt;WinSnap&lt;/a&gt;.) It looks to be very feature rich. It is certainly easy to use. However, I want to describe the full story because my attempt at using SnagIt was somewhat problematic and the SnagIt support center doesn't address this issue. Maybe my solution will help you avoid or solve this problem if you run into it.&lt;/p&gt;
&lt;p&gt;The steps below show the problem I encountered as well as how I solved it.&lt;/p&gt;
&lt;p&gt;First, I &lt;a target="_blank" href="http://www.techsmith.com/download/snagittrial.asp"&gt;downloaded&lt;/a&gt; SnagIt. (Your email address is &lt;u&gt;not&lt;/u&gt; required, even though it looks like it is.) Then I installed it and here is what I saw when I tried to start SnagIt. (Note that if you choose to lauch SnagIt as part of the installation, you will not see this error until the next time you try to launch SnagIt.)&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://blog.davestechshop.net/Images/Articles/LiveWriter/BestScreenImageCaptureTool/image02.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="92" alt="Application Error" width="384" border="0" src="/Images/Articles/LiveWriter/BestScreenImageCaptureTool/image02_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The dialog goes away only after you click "OK" about a dozen times. And, of course, SnagIt will not load.&lt;/p&gt;
&lt;p&gt;As you can probably tell from the quality of this image, SnagIt was causing a lot of problems. Not only could I not use it to capture this dialog, it was causing my other tools to malfunction as well.&lt;/p&gt;
&lt;p&gt;The dialog says something like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The instruction at "0x00000000" &lt;strong&gt;referenced&lt;/strong&gt; &lt;strong&gt;memory&lt;/strong&gt; at "0x00000000". The &lt;strong&gt;memory&lt;/strong&gt; could not be "written".&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I attempted to repair my installation. I also uninstalled and reinstalled SnagIt. Don't waste your time with those steps, if you are having this problem. They won't help.&lt;/p&gt;
&lt;p&gt;This problem is related to Data Execution Prevention (DEP), which Microsoft introduced in Windows XP SP 2. I don't actually run XP. I run Windows Server 2003 as my &lt;a target="_blank" href="http://www.msfn.org/win2k3/"&gt;workstation&lt;/a&gt; OS. But it has the same DEP features.&lt;/p&gt;
&lt;p&gt;I found the exact problem by debugging in Visual Studio.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://blog.davestechshop.net/Images/Articles/LiveWriter/BestScreenImageCaptureTool/image03.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="142" alt="Visual Studio SnagIt Access Violation" width="320" border="0" src="/Images/Articles/LiveWriter/BestScreenImageCaptureTool/image03_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here is the short answer to how to fix this problem:&lt;/p&gt;
&lt;p&gt;Change the DEP settings by this sequence of steps: &lt;strong&gt;Start &amp;gt; Control Panel &amp;gt; System Properties,&lt;/strong&gt; click the &lt;strong&gt;Advanced Tab &amp;gt; Performance Settings &amp;gt; Data Execution Prevention&lt;/strong&gt;. &lt;strong&gt;Add SnagIt32.exe&lt;/strong&gt; to the exclusions.&lt;/p&gt;
&lt;p&gt;Here are the steps in a bit more detail. From the Start Menu, go to the Control Panel and select System Properties. You will see this dialog box. Look in the Performance group and click the Settings button.&lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt="" border="0" src="/Images/Articles/LiveWriter/BestScreenImageCaptureTool/image13_thumb.png" /&gt;&lt;/p&gt;
&lt;p&gt;In the dialog below, click Add.&lt;/p&gt;
&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt="" border="0" src="/Images/Articles/LiveWriter/BestScreenImageCaptureTool/image11.png" /&gt;
&lt;p&gt;Brows to your SnagIt installation folder and select SnagIt32.exe (assuming you are running a 32 bit version of Windows). The default installation folder is "C:\Program Files\TechSmith\SnagIt 8".&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://blog.davestechshop.net/Images/Articles/LiveWriter/BestScreenImageCaptureTool/image09.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="220" alt="" width="320" border="0" src="/Images/Articles/LiveWriter/BestScreenImageCaptureTool/image09_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Accept/close these dialogs and SnagIt will now start and run correctly.&lt;/p&gt;
&lt;p&gt;I think I'm going to be satisfied with SnagIt, but my experience getting SnagIt to run just underscores how good a product MWSnap really is. I never had a moment's problem with it, and if not for the bugs in Visual Studio 2005, I would probably still be OK with using MWSnap on only one of my two monitors. I never had to troubleshoot MWSnap like I just did with Snagit. And MWSnap is free! I'll miss it.&lt;/p&gt;
&lt;p&gt;&lt;font color="#ff0000"&gt; &lt;strong&gt;&lt;u&gt;UPDATE&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;: I almost jumped the gun with my near-decision to use SnagIt. After writing this post, I came across &lt;a target="_blank" href="http://www.ntwind.com/software/winsnap.html"&gt;WinSnap&lt;/a&gt;. It is free (for personal use) and it works on dual monitors. &lt;a target="_blank" href="http://www.snapfiles.com/get/winsnap.html"&gt;SnapFiles&lt;/a&gt; gives it an excellent review and after trying it out myself I actually like it more than SnagIt and MWSnap. As I write this I am uninstalling SnagIt and I'm going with &lt;a target="_blank" href="http://www.ntwind.com/software/winsnap.html"&gt;WinSnap&lt;/a&gt;. WinSnap is the winner.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.snapfiles.com/Freeware/gmm/fwscreen.html"&gt;Here&lt;/a&gt; is a good resource that lists several freeware screen capture tools. It does not discuss which ones will work with dual monitors. However, I can vouch that WinSnap does work well with dual monitors.&lt;/p&gt;
&lt;p&gt;I'll quote part of what they say about WinSnap:&lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;p&gt;&lt;em&gt;WinSnap is a screen capture utility that enables you to take screenshots of non-rectangular windows and applications, using a background of your choice as well as regular windows, the desktop, popup menus and more. It can automatically enhance the capture with a smooth drop shadow effect, add a watermark, change the coloring and optionally save as a new file or copy it to the clipboard. Other features include image rotation, advanced auto-saving, image scaling, send by email (MAPI), keyboard shortcuts and more. WinSnap can save images in PNG, GIF, BMP, TIF and JPG format.&lt;/em&gt; &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;They give WinSnap 4 out of 5 on the popularity scale, but it has only 1 user review compared to about 16 for MWSnap. That would make me think MWSnap is far more popular. Both are good products, but at this point I am far more happy with WinSnap.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://davestechshop.net/aggbug/169.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>davestechshop.net</dc:creator>
            <guid>http://davestechshop.net/archive/2006/09/04/MWSnapVsSnagIt.aspx</guid>
            <pubDate>Mon, 04 Sep 2006 19:05:03 GMT</pubDate>
            <wfw:comment>http://davestechshop.net/comments/169.aspx</wfw:comment>
            <comments>http://davestechshop.net/archive/2006/09/04/MWSnapVsSnagIt.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://davestechshop.net/comments/commentRss/169.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>