<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.blackmarble.co.uk/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>From the outside in</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/default.aspx</link><description>The blog of Iain Angus</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Feature Pack for Microsoft SQL Server 2005, February 2007</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/07/09/feature-pack-for-microsoft-sql-server-2005-february-2007.aspx</link><pubDate>Wed, 09 Jul 2008 08:13:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:12670</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=12670</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/07/09/feature-pack-for-microsoft-sql-server-2005-february-2007.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;ve recently written an ASP.NET web application to programmatically execute SQL Server 2000 DTS packages and jobs and report on the outcome. I should really have the link below bookmarked given the amount of times I&amp;#39;ve used it.&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="SQL Server 2005 Feature Pack" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=50b97994-8453-4998-8226-fa42ec403d17&amp;amp;displaylang=en" target="_blank"&gt;Feature Pack for Microsoft SQL Server 2005, February 2007&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=12670" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category></item><item><title>Newcastle SharePoint User Group</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/07/03/newcastle-sharepoint-user-group.aspx</link><pubDate>Thu, 03 Jul 2008 13:33:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:12623</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=12623</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/07/03/newcastle-sharepoint-user-group.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;m heading over to Newcastle for the SharePoint User Group tonight. &lt;/p&gt;
&lt;p&gt;It&amp;#39;s a whiteboard session on MOSS Architecture.&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="SUGUK" href="http://suguk.org/forums/thread/11086.aspx" target="_blank"&gt;Newcastle SharePoint User Group&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hope to see you there if you are going.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;UPDATE....&lt;/p&gt;
&lt;p&gt;Big thank you to &lt;a class="" title="Blog" href="http://www.johntimney.com/blog/" target="_blank"&gt;John Timney&lt;/a&gt;&amp;nbsp;(Cap Gemini), Brian English (Cap Gemini) and Phil Hunter (BT) for an excellent user group meeting. There was a&amp;nbsp;mix&amp;nbsp;of people from different industries, lots of round table discussion and good information shared. &lt;/p&gt;
&lt;p&gt;I&amp;#39;m currently&amp;nbsp;implementing an intranet/extranet&amp;nbsp;MOSS architecture for 4500 users and found the whiteboard session invaluable.&lt;/p&gt;
&lt;p&gt;Once again, many thanks.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=12623" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>SUBST, GAC and SharePoint</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/05/06/subst-gac-and-sharepoint.aspx</link><pubDate>Tue, 06 May 2008 12:58:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:11901</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=11901</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/05/06/subst-gac-and-sharepoint.aspx#comments</comments><description>&lt;p&gt;Working with SharePoint, sometimes you just have to install assemblies to the GAC. An example of this I have had to deal with recently was writing a webpart to access methods in the &lt;a class="" title="UserProfileManager" href="http://msdn.microsoft.com/en-us/library/microsoft.office.server.userprofiles.userprofilemanager.aspx" target="_blank"&gt;UserProfileManager&lt;/a&gt; class.&lt;/p&gt;
&lt;p&gt;Debugging GAC installed&amp;nbsp;assemblies can be a bit frustrating, hopefully the following steps will make it alot easier and obvious....&lt;/p&gt;
&lt;p&gt;1. Install the assembly into the GAC&lt;/p&gt;
&lt;p&gt;2. Map a drive using SUBST to %SYSTEMROOT%\assembly&lt;/p&gt;
&lt;p&gt;SUBST maps a drive to a path - &lt;a href="http://www.microsoft.com/technet/archive/msdos/07_refer.mspx?mfr=true"&gt;http://www.microsoft.com/technet/archive/msdos/07_refer.mspx?mfr=true&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A mapped drive does not use the &lt;a class="" title="Assembly Cache Viewer" href="http://msdn.microsoft.com/en-us/library/34149zk3(VS.80).aspx" target="_blank"&gt;Assembly Cache Viewer&lt;/a&gt; and will show you the true folder structure. &lt;/p&gt;
&lt;p&gt;3. Locate and open&amp;nbsp;the GAC_MSIL folder in the mapped drive&lt;/p&gt;
&lt;p&gt;4. Locate and open&amp;nbsp;the folder containing your assembly. The name of the folder is the same as the assembly name.&lt;/p&gt;
&lt;p&gt;5. Copy the pdb (program database) file from your project build folder&amp;nbsp;to&amp;nbsp;your assembly&amp;nbsp;folder in the GAC. Because you have mapped a drive to %SYSTEMROOT%\assembly you should be able to do this easily with Windows Explorer.&lt;/p&gt;
&lt;p&gt;6. Do an iisreset /noforce (this is not really required but usually helps - general rule of thumb for working with SharePoint).&lt;/p&gt;
&lt;p&gt;7. Go to Visual Studio and attach the debugger to&amp;nbsp;the w3wp.exe (remember there may be more than one depending on how many app pools you have).&lt;/p&gt;
&lt;p&gt;You should now be able to hit the breakpoints you have set.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=11901" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>VBUG Newcastle: VS2008, SQL Server 2008 and Win 2008 Launch Event</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/04/30/vbug-newcastle-vs2008-sql-server-2008-and-win-2008-launch-event.aspx</link><pubDate>Wed, 30 Apr 2008 11:54:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:11861</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=11861</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/04/30/vbug-newcastle-vs2008-sql-server-2008-and-win-2008-launch-event.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;m presenting tonight on SQL Server 2008, along with &lt;a class="" title="Rik Hepworth" href="http://blogs.blackmarble.co.uk/blogs/rhepworth/default.aspx"&gt;Rik&lt;/a&gt; who is presenting on Windows Server 2008 and &lt;a class="" title="Richard Fennell" href="http://blogs.blackmarble.co.uk/blogs/rfennell/default.aspx"&gt;Richard&lt;/a&gt; who is presenting on Visual Studio 2008.&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="VBUG Newcastle" href="http://www.vbug.co.uk/Events/April-2008/VBUG-Newcastle-Heroes-Happen-Here--VS08-SQL08-Server08-Launch-Event.aspx" target="_blank"&gt;VBUG Newcastle: VS2008, SQL Server 2008 and Win 2008 Launch Event&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hope to see you there.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=11861" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category></item><item><title>Developer Day Scotland</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/03/17/developer-day-scotland.aspx</link><pubDate>Mon, 17 Mar 2008 14:09:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:11213</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=11213</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/03/17/developer-day-scotland.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;m going, are you?&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="Developer Day Scotland" href="http://developerdayscotland.com/main/Default.aspx" target="_blank"&gt;&lt;img height="256" alt="Developer Day Scotland" src="http://blogs.blackmarble.co.uk/blogs/iangus/GetReady1-large.png" width="192" align="middle" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This&amp;nbsp;is a&amp;nbsp;community event, by the community for the community.&lt;/p&gt;
&lt;p&gt;Get yourself there, registration is now &lt;a class="" title="Developer Day Scotland" href="http://developerdayscotland.com/main/Default.aspx" target="_blank"&gt;open&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=11213" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/DDD/default.aspx">DDD</category></item><item><title>Silverlight 2.0</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/02/28/silverlight-2-0.aspx</link><pubDate>Thu, 28 Feb 2008 15:03:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:10939</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=10939</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/02/28/silverlight-2-0.aspx#comments</comments><description>&lt;p&gt;As Ferris Bueller said &amp;quot;Life moves pretty fast&amp;quot;.&lt;/p&gt;
&lt;p&gt;Silverlight 1.0 was released last September, the first public beta of Silverlight 2.0 ain&amp;#39;t that far away...check out Scott Guthrie&amp;#39;s blog post &lt;a class="" title="Silverlight 2.0" href="http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=10939" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Calculation Settings in Excel</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/02/27/calculation-settings-in-excel.aspx</link><pubDate>Wed, 27 Feb 2008 17:02:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:10932</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=10932</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/02/27/calculation-settings-in-excel.aspx#comments</comments><description>&lt;p&gt;Sometimes Excel doesn&amp;#39;t behave as you expect and you learn something. Excel is complex as &lt;a class="" title="Why are the Microsoft Office file formats so complicated?" href="http://www.joelonsoftware.com/items/2008/02/19.html" target="_blank"&gt;Joel Spolsky&lt;/a&gt; pointed out last week.&lt;/p&gt;
&lt;p&gt;Quite often clients will send data updates in Excel spreadsheets as this is the format they are used to working with; even if you as a&amp;nbsp;programmer are not.&amp;nbsp;One such workbook I have worked with this week had a worksheet with formulas to increment id&amp;#39;s.&amp;nbsp;The problem was the id&amp;#39;s were not incrementing, even though the formula was correct.&lt;/p&gt;
&lt;p&gt;After some investigation it turned out that the Calculation was set to manual (Tools -&amp;gt; Options -&amp;gt; Calculation Tab in Excel 2003), as shown below -&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img height="1" alt="Excel Calculation Settings" src="http://blogs.blackmarble.co.uk/controlpanel/blogs/excelcalculation.jpg" width="1" border="0" /&gt;&lt;img height="394" alt="Excel Calculation Settings" src="http://blogs.blackmarble.co.uk/blogs/iangus/excelcalculation.JPG" width="490" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;quot;Automatic calculation&amp;quot; mode means that Excel will automatically recalculate all open workbooks at each and every change, and whenever you open a workbook - which is what I was expecting and wanted (if you are in &amp;quot;manual calculate&amp;quot; mode pressing F9 will update the formulas).&lt;/p&gt;
&lt;p&gt;This &amp;quot;manual calculate&amp;quot; behaviour is by design and Excel tries to help you realise this by updating the status bar with the word &amp;quot;Calculate&amp;quot;. In fact, as&amp;nbsp;this behaviour is set by the first workbook opened, it may seem to randomly change depending on the sequence the workbooks are opened, and their settings. &lt;/p&gt;
&lt;p&gt;As Joel Spolsky said in his article...&lt;/p&gt;
&lt;p&gt;&amp;quot;Every checkbox, every formatting option, and every feature in Microsoft Office has to be represented in file formats somewhere.&amp;quot;&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=10932" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/Technical+Tips/default.aspx">Technical Tips</category></item><item><title>Diagnosing referential integrity using TSQL</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/02/26/diagnosing-referential-integrity-using-tsql.aspx</link><pubDate>Tue, 26 Feb 2008 10:01:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:10925</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=10925</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/02/26/diagnosing-referential-integrity-using-tsql.aspx#comments</comments><description>&lt;p&gt;Quite often you work on databases that you didn&amp;#39;t write. Getting up to speed on the structure of the tables and the relationships between them is not something&amp;nbsp;you relish. The GUIs provided by SQL Server 2000 or 2005&amp;nbsp;don&amp;#39;t always provide the best way, particularly with regard to complex referential integrity.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve always&amp;nbsp;used a few TSQL procedures to accelerate the process, and hopefully reduce the pain...&lt;/p&gt;
&lt;p&gt;sp_help, returns information about a database object (any object listed in the &lt;b&gt;sysobjects&lt;/b&gt; table), a user-defined data type, or a data type supplied by Microsoft SQL Server. There are quite a few &amp;quot;sp_helps&amp;quot;, they are worth checking.&lt;/p&gt;
&lt;p&gt;sp_fkeys, &lt;font size="2"&gt;returns all tables that include a foreign key to the given table&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;sp_pkeys, returns primary key information for a single table.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=10925" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Accessing User Profile Information in WSS 3.0</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/01/30/accessing-user-profile-information-in-wss-3-0.aspx</link><pubDate>Wed, 30 Jan 2008 11:53:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:10752</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=10752</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/01/30/accessing-user-profile-information-in-wss-3-0.aspx#comments</comments><description>&lt;p&gt;MOSS and WSS 3.0 handle user profiles differently.&amp;nbsp;In MOSS, user profile information is stored&amp;nbsp;centrally and can be shared across site collections. Profiles can be manipulated using the &lt;a class="" title="UserProfileManager" href="http://msdn2.microsoft.com/en-us/library/microsoft.office.server.userprofiles.userprofilemanager.aspx" target="_blank"&gt;UserProfileManager&lt;/a&gt; class found in&amp;nbsp;Microsoft.Office.Server.dll.&lt;/p&gt;
&lt;p&gt;Life just isn&amp;#39;t the same when working with WSS 3.0. When developing a workflow, for example, it may be useful to access a property of&amp;nbsp;the user profile. You can&amp;#39;t use UserProfileManager as it doesn&amp;#39;t exist and&amp;nbsp;&lt;a class="" title="SPUser" href="http://msdn2.microsoft.com/en-us/library/ms456617.aspx" target="_blank"&gt;SPUser&lt;/a&gt; doesn&amp;#39;t&amp;nbsp;expose most of the profile information. In WSS 3.0 the user profile information is stored in a hidden list specific to an individual site collection. If you have multiple site collections, a different hidden list is used for each site collection. The User Profile Information is just another list and can be treated as such -&lt;/p&gt;
&lt;p&gt;SPList userProfileList = web.Lists[&amp;quot;User Information List&amp;quot;];&lt;/p&gt;
&lt;p&gt;foreach (SPListItem user in userProfileList.Items)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(user[&amp;quot;Name&amp;quot;] + &amp;quot; &amp;quot; + user[&amp;quot;Department&amp;quot;];&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;The cut down C# above lists all the user names and departments.&lt;/p&gt;
&lt;p&gt;Accessing the user profile information in WSS 3.0 is straightforward, once you know how ;-)&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=10752" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Microsoft Boy announces his school homework</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/01/28/microsoft-boy-announces-his-school-homework.aspx</link><pubDate>Mon, 28 Jan 2008 15:58:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:10716</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=10716</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/01/28/microsoft-boy-announces-his-school-homework.aspx#comments</comments><description>&lt;p&gt;&lt;a class="" title="Microsoft Boy announces his school homework" href="http://www.simple-talk.com/community/blogs/philfactor/archive/2008/01/27/43174.aspx" target="_blank"&gt;Very funny&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=10716" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/General+Interest/default.aspx">General Interest</category></item><item><title>Granting permissions on the GAC</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/01/28/granting-permissions-on-the-gac.aspx</link><pubDate>Mon, 28 Jan 2008 14:26:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:10715</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=10715</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/01/28/granting-permissions-on-the-gac.aspx#comments</comments><description>&lt;p&gt;Normally you don&amp;#39;t encounter permission errors when installing to the global assembly cache (GAC). Today I did, even though I was logged on as a member of the administrators&amp;nbsp;group (not that being an administrator is a guarantee of much).&lt;/p&gt;
&lt;p&gt;If you navigate using Windows Explorer to &lt;strong&gt;%windir%\assembly,&lt;/strong&gt; what you see is the view displayed by the &lt;a class="" title="Assembly Cache Viewer" href="http://msdn2.microsoft.com/en-us/library/34149zk3(VS.80).aspx" target="_blank"&gt;assembly cache viewer&lt;/a&gt;. If you go up a folder and right click the assembly folder and click properties you won&amp;#39;t see the security tab you normally see. The assembly cache viewer (Shfusion.dll) is a Windows shell extension that affects how Windows Explorer lets you view the folder.&lt;/p&gt;
&lt;p&gt;You have two options at this point - &lt;/p&gt;
&lt;p&gt;1. Alter the behaviour of Windows Explorer with regard to the GAC. Hannes Pavelka gives a nice &lt;a class="" title="Windows Explorer and the Global Assembly Cache" href="http://geekswithblogs.net/pavelka/archive/2006/05/05/WindowsExplorerAndTheGlobalAssemblyCache.aspx" target="_blank"&gt;post&lt;/a&gt; on how to do this.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. Open&amp;nbsp;a command&amp;nbsp;window and use &lt;a class="" title="Cacls" href="http://technet.microsoft.com/en-us/library/bb490872.aspx" target="_blank"&gt;Cacls&lt;/a&gt;. Cacls allows you to both view and alter the permissions on any folder, and subfolders,&amp;nbsp;for any account, including the GAC, as long as you are running it as an account that has permission to do so. Sounds like a &lt;a class="" title="Russian Dolls" href="http://en.wikipedia.org/wiki/Matryoshka_doll" target="_blank"&gt;russian doll&lt;/a&gt; of permissions, doesn&amp;#39;t it?&lt;/p&gt;
&lt;p&gt;I chose option 2 as I don&amp;#39;t like altering the&amp;nbsp;expected behaviour. This can cause confusion further down the line.&lt;/p&gt;
&lt;p&gt;In order to get round the installation issue I ran the following at a command window -&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CACLS %WINDIR%\assembly /e /t /p administrators:W&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;this gave members of the administrators&amp;nbsp;builtin group&amp;nbsp;write&amp;nbsp;permissions on the GAC, and the subfolders,&amp;nbsp;and sorted out the installation issues.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=10715" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/Technical+Tips/default.aspx">Technical Tips</category></item><item><title>SharePoint User Group - Newcastle</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/01/25/sharepoint-user-group-newcastle.aspx</link><pubDate>Fri, 25 Jan 2008 10:09:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:10663</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=10663</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2008/01/25/sharepoint-user-group-newcastle.aspx#comments</comments><description>&lt;p&gt;Big thank you to &lt;a class="" title="Penny Coventry" href="http://mindsharpblogs.com/penny/" target="_blank"&gt;Penny Coventry&lt;/a&gt; and &lt;a class="" title="Steve Smith" href="http://suguk.org/blogs/combined_knowledge/default.aspx" target="_blank"&gt;Steve Smith&lt;/a&gt; for presenting at the SharePoint User Group UK Newcastle meeting on Wednesday night. Both were excellent sessions.&lt;/p&gt;
&lt;p&gt;Penny gave an overview of &lt;a class="" title="SharePoint Designer" href="http://office.microsoft.com/en-us/sharepointdesigner/FX100487631033.aspx" target="_blank"&gt;SharePoint Designer&lt;/a&gt;, which if not already, will probably become&amp;nbsp;your default tool for design and basic development of SharePoint sites.&lt;/p&gt;
&lt;p&gt;Steve covered &lt;a class="" title="Forefront Security for SharePoint" href="http://www.microsoft.com/forefront/default.mspx" target="_blank"&gt;Forefront Security for SharePoint&lt;/a&gt;. There are not too many choices when it comes to anti-virus solutions for SharePoint.&amp;nbsp;Some vendors have had a less than successful record in this area and&amp;nbsp;Forefront&amp;nbsp;looks like a very interesting solution. Forefront offers real time and manual, multi engine scanning, as well as keyword content filtering.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=10663" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>SharePoint 2007 "Friendly" Error Messages</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2007/12/20/sharepoint-quot-friendly-quot-error-messages.aspx</link><pubDate>Thu, 20 Dec 2007 13:42:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:10087</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=10087</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2007/12/20/sharepoint-quot-friendly-quot-error-messages.aspx#comments</comments><description>&lt;p&gt;SharePoint 2007&amp;nbsp;displays a nice &amp;quot;friendly&amp;quot; error message when anything goes wrong.&amp;nbsp;This&amp;nbsp;&amp;quot;friendly&amp;quot; error message usually provides no useful information about why the error has occurred (sometimes you get an HRESULT). It may be friendly but isn&amp;#39;t usually very helpful, not for a developer.&lt;/p&gt;
&lt;p&gt;You can alter this default behaviour by&amp;nbsp;making two changes to the web.config for the site you are debugging.&lt;/p&gt;
&lt;p&gt;CallStack is set to false. Change the CallStack setting to true, as shown below -&lt;/p&gt;
&lt;p&gt;&amp;lt;SafeMode MaxControls=&amp;quot;200&amp;quot; CallStack=&amp;quot;true&amp;quot; DirectFileDependencies=&amp;quot;10&amp;quot; TotalFileDependencies=&amp;quot;50&amp;quot; AllowPageLevelTrace=&amp;quot;false&amp;quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;customErrors&amp;nbsp;mode is set to On. Change the mode to Off, as shown below -&lt;/p&gt;
&lt;p&gt;&amp;lt;customErrors mode=&amp;quot;Off&amp;quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;Hey presto, helpful error&amp;nbsp;messages. Now if I could only fix the error... ;-)&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=10087" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Gary Short Presentation</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2007/12/18/gary-short-presentation.aspx</link><pubDate>Tue, 18 Dec 2007 14:38:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:10069</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=10069</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2007/12/18/gary-short-presentation.aspx#comments</comments><description>&lt;p&gt;Gary Short is speaking at Glasgow Caledonian University, 7pm, 16th January 2008. I saw him speak at &lt;a class="" title="DDD 6" href="http://www.developerday.co.uk/ddd/default.asp" target="_blank"&gt;DDD 6&lt;/a&gt; and he was excellent. Well worth a trip to see.&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="Link to presentation details" href="http://www.garyshort.org/?p=775" target="_blank"&gt;Link to presentation details&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=10069" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/Events/default.aspx">Events</category></item><item><title>SQL Server Status</title><link>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2007/12/07/sql-server-status.aspx</link><pubDate>Fri, 07 Dec 2007 15:30:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:9978</guid><dc:creator>Iain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/iangus/rsscomments.aspx?PostID=9978</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/iangus/archive/2007/12/07/sql-server-status.aspx#comments</comments><description>&lt;p&gt;In SQL Server&amp;nbsp;2000 you could query the sysdatabases table to find out the &amp;quot;status&amp;quot; of a database. This field was actually a bit mask and&amp;nbsp;the sysdatabases table is&amp;nbsp;only available in SQL Server 2005 for backwards compatability.&amp;nbsp;The sysdatabases table &amp;quot;maps&amp;quot; to the sys.databases system view. The old sysdatabases &amp;quot;status&amp;quot; column now spans multiple columns in the new sys.databases system view...&lt;/p&gt;
&lt;table class=""&gt;

&lt;tr&gt;
&lt;td class=""&gt;&lt;strong&gt;sysdatabases&lt;/strong&gt;&lt;/td&gt;
&lt;td class=""&gt;&lt;strong&gt;sys.databases&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;1 = &lt;b&gt;autoclose&lt;/b&gt; (ALTER DATABASE)&lt;/td&gt;
&lt;td class=""&gt;is_auto_close_on&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;4 = &lt;b&gt;select into/bulkcopy&lt;/b&gt; (ALTER DATABASE using SET RECOVERY) &lt;/td&gt;
&lt;td class=""&gt;log_reuse_wait&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;8 = &lt;b&gt;trunc. log on chkpt&lt;/b&gt; (ALTER DATABASE using SET RECOVERY) &lt;/td&gt;
&lt;td class=""&gt;log_reuse_wait&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;16 = &lt;b&gt;torn page detection&lt;/b&gt; (ALTER DATABASE) &lt;/td&gt;
&lt;td class=""&gt;page_verify_option&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;32 = &lt;b&gt;loading&lt;/b&gt; &lt;/td&gt;
&lt;td class=""&gt;state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;64 = &lt;b&gt;pre recovery&lt;/b&gt; &lt;/td&gt;
&lt;td class=""&gt;state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;128 = &lt;b&gt;recovering&lt;/b&gt; &lt;/td&gt;
&lt;td class=""&gt;state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;256 = &lt;b&gt;not recovered&lt;/b&gt; &lt;/td&gt;
&lt;td class=""&gt;state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;512 = &lt;b&gt;offline&lt;/b&gt; (ALTER DATABASE) &lt;/td&gt;
&lt;td class=""&gt;
&lt;p&gt;state&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;1024 = &lt;b&gt;read only&lt;/b&gt; (ALTER DATABASE) &lt;/td&gt;
&lt;td class=""&gt;is_read_only&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;2048 = &lt;b&gt;dbo use only&lt;/b&gt; (ALTER DATABASE using SET RESTRICTED_USER) &lt;/td&gt;
&lt;td class=""&gt;user_access&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;4096 = &lt;b&gt;single user&lt;/b&gt; (ALTER DATABASE) &lt;/td&gt;
&lt;td class=""&gt;user_access&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;32768 = &lt;b&gt;emergency mode&lt;/b&gt;&lt;/td&gt;
&lt;td class=""&gt;state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;4194304 = &lt;b&gt;autoshrink&lt;/b&gt; (ALTER DATABASE)&lt;/td&gt;
&lt;td class=""&gt;is_auto_shrink_on&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;1073741824 = &lt;b&gt;cleanly shutdown&lt;/b&gt;&lt;/td&gt;
&lt;td class=""&gt;is_cleanly_shutdown&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;...if I&amp;#39;ve got any wrong please let me know.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Link to mapping&amp;nbsp;SQL Server 2000 system tables to SQL Server 2005 system views&amp;nbsp;&amp;nbsp;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms187997.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms187997.aspx&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=9978" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/iangus/archive/tags/SQL/default.aspx">SQL</category></item></channel></rss>