<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/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>Serge van den Oever [Macaw]</title><link>http://weblogs.asp.net/soever/default.aspx</link><description>&lt;I&gt;Your source for hot information on Microsoft SharePoint Portal Server and Windows SharePoint Services&lt;/I&gt;&lt;/P&gt;
&lt;a href='http://weblogs.asp.net/soever/archive/2006/01/12/435105.aspx' target='_blank'&gt;Macaw SharePoint Skinner&lt;/a&gt; - A HttpModule for skinning SharePoint by modifying at server side the HTML output sent to the browser&lt;BR&gt;
&lt;a href='http://weblogs.asp.net/soever/archive/2005/03/04/385523.aspx' target='_blank'&gt;Macaw Discussion Board&lt;/a&gt; - The way SharePoint discussions should work... and now do work!&lt;BR&gt;
&lt;BR&gt;
MSDN Article: &lt;a href='http://msdn2.microsoft.com/en-us/library/aa505323.aspx' target='_blank'&gt;SharePoint Data View Web Part Extension Functions in the ddwrt Namespace&lt;/a&gt;&lt;BR&gt;
Weblog Posts: &lt;a href="http://weblogs.asp.net/soever/archive/tags/SharePoint/default.aspx" target='_blank'&gt;All my SharePoint related blog posts&lt;/a&gt;&lt;BR&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>C:\Program Files\Reference Assemblies for assemblies to reference in your code</title><link>http://weblogs.asp.net/soever/archive/2008/07/20/c-program-files-reference-assemblies-for-assemblies-to-reference-in-your-code.aspx</link><pubDate>Sun, 20 Jul 2008 20:35:01 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6424839</guid><dc:creator>svdoever</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=6424839</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2008/07/20/c-program-files-reference-assemblies-for-assemblies-to-reference-in-your-code.aspx#comments</comments><description>&lt;p&gt;I just stumbles across a &amp;quot;new&amp;quot; concept of Microsoft. In the &lt;strong&gt;C:\Program Files\Reference Assemblies&lt;/strong&gt; folder Microsoft installs assemblies for products that can be referenced from your code. Instead of referencing assemblies directly from the GAC or copying an assembly from an installation folder or the GAC to your project for reference, you can now reference the assemblies in this folder.&lt;/p&gt;  &lt;p&gt;We have a similar approach in our Macaw Solutions Factory where we have a _SharedAssemblies folder to keep track of all external assemblies to reference. We prefer to keep the assemblies with the source that is checked into source control, because otherwise it is possible that a build server does not contain the expected assemblies when compiling a checked-out solution and can't successfully compile the solution.&lt;/p&gt;  &lt;p&gt;On the MsBuild team blog you can read more about this feature that happened to be with us since the .Net 3.0 framework:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/msbuild/archive/2007/04/12/new-reference-assemblies-location.aspx" href="http://blogs.msdn.com/msbuild/archive/2007/04/12/new-reference-assemblies-location.aspx"&gt;http://blogs.msdn.com/msbuild/archive/2007/04/12/new-reference-assemblies-location.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Also other applications like PowerShell keep their assemblies to reference in this location.&amp;#160; &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6424839" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/soever/archive/tags/PowerShell/default.aspx">PowerShell</category></item><item><title>Use VS2008 to create a VSPackage that runs in VS2008 and VS2005</title><link>http://weblogs.asp.net/soever/archive/2008/06/04/use-vs2008-to-create-a-vspackage-that-runs-in-vs2008-and-vs2005.aspx</link><pubDate>Wed, 04 Jun 2008 21:15:45 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6248367</guid><dc:creator>svdoever</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=6248367</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2008/06/04/use-vs2008-to-create-a-vspackage-that-runs-in-vs2008-and-vs2005.aspx#comments</comments><description>&lt;p&gt;We all want to use the new features in Visual Studio 2008 during development. When using VS2008 for VsPackage development we need to install the Visual Studio 2008 SDK. The approach taken for building VsPackages in VS2008 is incompatible with the approach taken in VS2005. In this article I explain an approach to use VS2008 to build a compatible VsPackage that can be tested in the experimental hives of both versions of Visual Studio.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;About VsPackage&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A VsPackage is a very powerful Visual Studio extensibility mechanism&lt;/li&gt;    &lt;li&gt;Visual studio knows about a VsPackage and its functionality through registry registrations&lt;/li&gt;    &lt;li&gt;To test a VsPackage without messing up your Visual Studio, the Visual Studio SDK created a special experimental &amp;#8220;registry hive&amp;#8221; containing all required Visual Studio registrations. Visual studio can be started with the name of this hive to test your VsPackage in a &amp;#8220;sandbox&amp;#8221; environment&lt;/li&gt;    &lt;li&gt;This hive can be reset to its initial state in case of problems or to do a clean test&lt;/li&gt;    &lt;li&gt;In Visual studio 2005 the hive is created under HKEY_LOCAL_MACHINE, this gives issues under Vista where a normal user may not write to this part of the registry&lt;/li&gt;    &lt;li&gt;In Visual studio a &amp;#8220;per user&amp;#8221; experimental hive is supported, so you can do Run As a Normal User development&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In the Visual Studio 2005 SDK the experimental hive was created on installation because the same experimental hive was used for all users. In the Visual studio 2008 SDK the experimental hive is per used, so each user needs to recreate it&amp;#8217;s own expirimental hive. You can do this by executing the following command from the Start Menu: &lt;b&gt;Microsoft Visual Studio 2008 SDK -&amp;gt; Tools -&amp;gt; Reset the Microsoft Visual Studio 2008 Experimental hive&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;What this command does is executing the following command: &lt;b&gt;VSRegEx.exe GetOrig 9.0 Exp RANU&lt;/b&gt;. The &lt;b&gt;RANU&lt;/b&gt; argument means: &lt;b&gt;R&lt;/b&gt;un &lt;b&gt;A&lt;/b&gt;s a &lt;b&gt;N&lt;/b&gt;ormal &lt;b&gt;U&lt;/b&gt;ser.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Referenced assemblies&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A VS2008 VsPackage project will normally reference the following assemblies:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Reference Include=&amp;quot;Microsoft.VisualStudio.OLE.Interop&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Reference Include=&amp;quot;Microsoft.VisualStudio.Shell.Interop&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Reference Include=&amp;quot;Microsoft.VisualStudio.Shell.Interop.8.0&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Reference Include=&amp;quot;Microsoft.VisualStudio.Shell.Interop.9.0&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Reference Include=&amp;quot;Microsoft.VisualStudio.TextManager.Interop&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Reference Include=&amp;quot;Microsoft.VisualStudio.Shell.9.0&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;If we want to run the VsPackage on VS2005 as well, we may not reference assemblies from VS2008 (the assemblies ending with 9.0). The set of assemblies we should reference are:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Reference Include=&amp;quot;Microsoft.VisualStudio.OLE.Interop&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Reference Include=&amp;quot;Microsoft.VisualStudio.Shell.Interop&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Reference Include=&amp;quot;Microsoft.VisualStudio.Shell.Interop.8.0&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Reference Include=&amp;quot;Microsoft.VisualStudio.TextManager.Interop&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Reference Include=&amp;quot;Microsoft.VisualStudio.Shell&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;VsPackage registration&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;But because Visual Studio uses a tool called RegPkg.exe to generate the required registry entries to make the VsPackage known to Visual Studio, and that the RegPkg.exe application for VS2008 uses the Microsoft.VisualStudio.Shell.9.0 assembly and the RegPkg.exe application for VS2005 uses the the Microsoft.VisualStudio.Shell assembly, we have a problem.&lt;/p&gt;  &lt;p&gt;But Microsoft was so kind to provide a howto on migrating VsPackage projects to VS2008. See &lt;a href="http://msdn.microsoft.com/en-us/library/cc512930.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc512930.aspx&lt;/a&gt; for more information. If you have followed the steps to migrate an existing VS2005 project to VS2008, there is an interesting section on what to do if you want to use the Microsoft.VisualStudio.Shell assembly instead of the Microsoft.VisualStudio.Shell.9.0 assembly, and in that way stay compatible with VS2005.&lt;/p&gt;  &lt;p&gt;The steps are as follows:&lt;/p&gt;  &lt;p&gt;A VsPackage project has a project file that is actually an MsBuild file. To open this file in Visual studio do the following:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Right click on the VsPackage project&lt;/li&gt;    &lt;li&gt;Select &lt;b&gt;Unload Project&lt;/b&gt; (save changes if requested)&lt;/li&gt;    &lt;li&gt;See the project named changed from &lt;b&gt;FooBar&lt;/b&gt; to &lt;b&gt;FooBar (unavailable)&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;Right click again and select &lt;b&gt;Edit FooBar.csproj&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;Add the following lines to the last PropertyGroup:     &lt;br /&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;!-- Make sure we are 2005 compatible, and don't rely on RegPkg.exe        &lt;br /&gt;of VS2008 which uses Microsoft.VisualStudio.Shell.9.0 --&amp;gt;         &lt;br /&gt;&amp;lt;UseVS2005MPF&amp;gt;true&amp;lt;/UseVS2005MPF&amp;gt;        &lt;br /&gt;&amp;lt;!-- Don't try to run as a normal user (RANA),         &lt;br /&gt;create experimental hive in HKEY_LOCAL_MACHINE --&amp;gt;        &lt;br /&gt;&amp;lt;RegisterWithRanu&amp;gt;false&amp;lt;/RegisterWithRanu&amp;gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;Save project file&lt;/li&gt;    &lt;li&gt;Right click on the project and select &lt;b&gt;Reload Project&lt;/b&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;After these changes the RegPkg.exe for VS2005 is used to generate the registry settings. But this tool can only generate registry settings for a hive in HKEY_LOCAL_MACHINE, and not for a hive in HKEY_CURRENT_USER. This means that development must be done as an administrator.&lt;/p&gt;  &lt;p&gt;If we now build the application we get the following error: &amp;#8220;&lt;b&gt;Failed to retrieve paths under VSTemplate for the specified registry hive.&lt;/b&gt;&amp;#8221;, we must register a new registry hive for VS2008 in HKEY_LOCAL_MACHINE with the following command: &lt;b&gt;VSRegEx.exe GetOrig 9.0 Exp&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;For more information on the RegPkg.exe utility, see the excellent blog post at &lt;a href="http://www.architekturaforum.hu/blogs/divedeeper/archive/2008/01/22/LearnVSXNowPart8.aspx"&gt;http://www.architekturaforum.hu/blogs/divedeeper/archive/2008/01/22/LearnVSXNowPart8.aspx&lt;/a&gt;. Don&amp;#8217;t forget to read the rest of that blog post series.&lt;/p&gt;  &lt;p&gt;Last step to do is changing the way VS2008 is launched when debugging the VsPackage with F5. Right-click the VsPackage project and select properties. Now remove &lt;b&gt;RANU &lt;/b&gt;from&lt;b&gt; &lt;/b&gt;the command line arguments box:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/UseVS2008tocreateaVSPackagethatrunsinVS2_1471A/clip_image002%5B5%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="435" alt="clip_image002[5]" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/UseVS2008tocreateaVSPackagethatrunsinVS2_1471A/clip_image002%5B5%5D_thumb.jpg" width="606" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Because we want to target both VS2005 and VS2008 with the VsPackage, we should also test the package on VS2005. So assuming that VS2005 is installed on the development machine as well, create an experimental hive for VS2005 using the command: &lt;b&gt;VSRegEx.exe GetOrig 8.0 Exp&lt;/b&gt;. We don&amp;#8217;t need to install this experimental hive if we installed the Visual Studio SDK for VS2005 as well.&lt;/p&gt;  &lt;p&gt;To register the VsPackage for VS2005 as well and start VS2005 under the experimental hive, you can add a small batch script to your solution. Add a file TestInVS2005.bat in the root of the solution folder as a solution item. The TestInVS2005.bat file should have the following content:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;quot;%VSSDK90Install%VisualStudioIntegration\Tools\Bin\VS2005\regpkg.exe&amp;quot; /root:Software\Microsoft\VisualStudio\8.0Exp /codebase %~dp0FooBar\bin\Debug\FooBar.dll&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;quot;%VS80COMNTOOLS%..\IDE\devenv.exe&amp;quot; /rootSuffix exp&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Pause&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;We can now right-click on the TestInVs2005.bat file, select &lt;b&gt;Open With&amp;#8230;&lt;/b&gt; &lt;b&gt;&lt;/b&gt;and browse to the&lt;b&gt; &lt;/b&gt;TestInVs2005.bat file itself to open the file with. It then starts the batch script.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6248367" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/VSX/default.aspx">VSX</category></item><item><title>Edit file in Wss3 web application with SharePoint Designer blows up your web site</title><link>http://weblogs.asp.net/soever/archive/2008/01/29/edit-file-in-wss3-web-application-with-sharepoint-designer-blows-up-your-web-site.aspx</link><pubDate>Tue, 29 Jan 2008 10:21:02 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5670415</guid><dc:creator>svdoever</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=5670415</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2008/01/29/edit-file-in-wss3-web-application-with-sharepoint-designer-blows-up-your-web-site.aspx#comments</comments><description>&lt;p&gt;I wanted to create a simple html file in the root of my Wss3 web application, so I created an empty file test.htm. I double clicked te file and because I have SharePoint Designer installed, it is the default editor for .htm files. I put some test into the .htm file along the lines of &amp;quot;Hello world!&amp;quot;, and boom: my Wss3 web application is dead. I get the following error:&lt;/p&gt;  &lt;h3&gt;&lt;font color="#0000ff"&gt;Server Error in '/' Application.      &lt;hr width="100%" size="1" /&gt;&lt;/font&gt;&lt;/h3&gt;  &lt;h4&gt;&lt;i&gt;&lt;font color="#0000ff"&gt;Parser Error&lt;/font&gt;&lt;/i&gt;&lt;/h4&gt; &lt;font color="#0000ff"&gt;&lt;b&gt;Description: &lt;/b&gt;An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.     &lt;br /&gt;&lt;b&gt;Parser Error Message: &lt;/b&gt;Data at the root level is invalid. Line 1, position 1.    &lt;br /&gt;&lt;b&gt;Source Error:&lt;/b&gt;&lt;/font&gt;  &lt;p&gt;&lt;code&gt;&lt;/code&gt;    &lt;pre&gt;&lt;font color="#0000ff"&gt;Line 1:  &amp;lt;browsers&amp;gt;
Line 2:      &amp;lt;browser id=&amp;quot;Safari2&amp;quot; parentID=&amp;quot;Safari1Plus&amp;quot;&amp;gt;
Line 3:          &amp;lt;controlAdapters&amp;gt;&lt;/font&gt;&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Source File: &lt;/b&gt;/App_Browsers/compat.browser&lt;b&gt;&amp;#160;&amp;#160;&amp;#160; Line: &lt;/b&gt;1 &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font color="#0000ff"&gt;
    &lt;hr width="100%" size="1" /&gt;&lt;b&gt;Version Information:&lt;/b&gt; Microsoft .NET Framework Version:2.0.50727.832; ASP.NET Version:2.0.50727.832&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;After some searching I found what happened:&lt;/p&gt;

&lt;p&gt;When you open a file with SharePoint Designer, it creates all kind of FrontPage Server Extension functionality in your web application. One thing it does it that it creates a &lt;strong&gt;_vti_cnf&lt;/strong&gt; folder in every folder you have in your web application. If you remove all these folders you fix your problem.&lt;/p&gt;

&lt;p&gt;I don't know of a handy DOS command to delete all these folders recursively, but with some PowerShell I solved the problem.&lt;/p&gt;

&lt;p&gt;Open a PowerShell prompt, set the current directory to the folder hosting your web application and execute the following command to see the &amp;quot;damage&amp;quot;:&lt;/p&gt;

&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size="1"&gt;PS C:\Inetpub\wwwroot\wss\VirtualDirectories\wss3dev&amp;gt; get-childitem -path . -name _vti_cnf -recurse
    &lt;br /&gt;_vti_cnf

    &lt;br /&gt;App_Browsers\_vti_cnf

    &lt;br /&gt;App_GlobalResources\_vti_cnf

    &lt;br /&gt;aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer3\CSs\_vti_cnf

    &lt;br /&gt;aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer3\html\_vti_cnf

    &lt;br /&gt;aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer3\Images\ToolBar\_vti_cnf

    &lt;br /&gt;aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer3\Images\Tree\_vti_cnf

    &lt;br /&gt;aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer3\JS\_vti_cnf

    &lt;br /&gt;wpresources\_vti_cnf

    &lt;br /&gt;_app_bin\_vti_cnf&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;Now execute the following PowerShell command to kill all these folders and become a happy camper again:&lt;/p&gt;

&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size="1"&gt;PS C:\Inetpub\wwwroot\wss\VirtualDirectories\wss3dev&amp;gt;&lt;/font&gt; &lt;font face="Courier New" color="#0000ff" size="1"&gt;get-childitem -path . -name _vti_cnf -recurse | % { remove-item -Path $_ -recurse }&lt;/font&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5670415" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/soever/archive/tags/PowerShell/default.aspx">PowerShell</category></item><item><title>Reduce the size of a virtual hard disk before delivery for reuse</title><link>http://weblogs.asp.net/soever/archive/2008/01/15/reduce-the-size-of-a-virtual-hard-disk-before-delivery-for-reuse.aspx</link><pubDate>Mon, 14 Jan 2008 23:55:17 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5603724</guid><dc:creator>svdoever</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=5603724</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2008/01/15/reduce-the-size-of-a-virtual-hard-disk-before-delivery-for-reuse.aspx#comments</comments><description>&lt;p&gt;When delivering a virtual hard disk to your team to build their virtual machines on I perform the following steps to minimize the size of the virtual hard disk. It is assumed that Virtual Server 2005 R2 SP1 is installed.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Make sure you merged the Undo disks, and that differencing disks are merged with their parent disks&lt;/li&gt;    &lt;li&gt;Disable undo disks&lt;/li&gt;    &lt;li&gt;Start the virtual machine to compact&lt;/li&gt;    &lt;li&gt;In the virtual machine download CCleaner on http://www.ccleaner.com . This is a great tool to clean your disk from history files, cache files etc. I run this almost daily on my virtual machines and my host system. Thanks Danny for introducing me to this great tool.     &lt;br /&gt;Quote from their website:      &lt;br /&gt;&lt;i&gt;CCleaner is a freeware system optimization and privacy tool. It removes unused files from your system - allowing Windows to run faster and freeing up valuable hard disk space. It also cleans traces of your online activities such as your Internet history. But the best part is that it's fast (normally taking less than a second to run) and contains NO Spyware or Adware! :)       &lt;br /&gt;&lt;/i&gt;      &lt;br /&gt;During installation beware of the option to install the Yahoo toolbar, you often overlook this co-packaging options from Microsoft, Google and Yahoo:      &lt;br /&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Reducethesizeofavirtualharddiskbeforedel_CD1/clip_image002_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="511" alt="clip_image002" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Reducethesizeofavirtualharddiskbeforedel_CD1/clip_image002_thumb.jpg" width="612" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;In the virtual machine run CCleaner with the options you prefer, my options are:     &lt;br /&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Reducethesizeofavirtualharddiskbeforedel_CD1/clip_image004_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="809" alt="clip_image004" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Reducethesizeofavirtualharddiskbeforedel_CD1/clip_image004_thumb.jpg" width="751" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Shut down the virtual machine&lt;/li&gt;    &lt;li&gt;Mount the virtual hard disk to compact using &lt;b&gt;vhdmount&lt;/b&gt; (part of Virtual Server 2005 R2 SP1):      &lt;br /&gt;&amp;quot;C:\Program Files\Microsoft Virtual Server\Vhdmount\vhdmount&amp;quot; /p &amp;#8220;drive:\folder\YourVirtualHarddiskToCompress.vhd&amp;#8221;&lt;/li&gt;    &lt;li&gt;Go to &lt;b&gt;Start&lt;/b&gt; &amp;gt; &lt;b&gt;My Computer&lt;/b&gt;; Right-click and select &lt;b&gt;Manage&lt;/b&gt;. Now defragment the disk mounted in step 6      &lt;br /&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Reducethesizeofavirtualharddiskbeforedel_CD1/clip_image006_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="553" alt="clip_image006" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Reducethesizeofavirtualharddiskbeforedel_CD1/clip_image006_thumb.jpg" width="887" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&amp;quot;C:\Program Files\Microsoft Virtual Server\Vhdmount\vhdmount&amp;quot; /u /c &amp;#8220;drive:\folder\YourVirtualHarddiskToCompress.vhd&amp;#8221;&lt;/li&gt;    &lt;li&gt;Now start your virtual machine, and mount the ISO image &lt;b&gt;C:\Program Files\Microsoft Virtual Server\Virtual Machine Additions\Precompact.iso&lt;/b&gt;. I personally use VMRCPlus to mount the ISO, right-click on CD-Drive and select &lt;b&gt;Attach Media Image file&amp;#8230;&lt;/b&gt; as shown in the screenshot below      &lt;br /&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Reducethesizeofavirtualharddiskbeforedel_CD1/clip_image008_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="1111" alt="clip_image008" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Reducethesizeofavirtualharddiskbeforedel_CD1/clip_image008_thumb.jpg" width="921" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;When you navigate to the drive where the ISO image is mounted, the precompaction starts. The precompaction writes zero&amp;#8217;s in all unused space in the disk, so the disk can be compacted in the next steps.&lt;/li&gt;    &lt;li&gt;Shut down the virtual machine&lt;/li&gt;    &lt;li&gt;Now start compaction of the virtual disk. This can be done in VirtualPC 2007, in the administrative web Virtual Server 2005, or in VMRCPlus, which I use here. Navigate to &lt;b&gt;Tools&lt;/b&gt; &amp;gt; &lt;b&gt;Virtual Disks&lt;/b&gt; &amp;gt; &lt;b&gt;Inspect Virtual Hard disk&lt;/b&gt;, select your vhd to compact and select disk operation &lt;b&gt;Compact&lt;/b&gt;      &lt;br /&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Reducethesizeofavirtualharddiskbeforedel_CD1/clip_image010_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="550" alt="clip_image010" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Reducethesizeofavirtualharddiskbeforedel_CD1/clip_image010_thumb.jpg" width="740" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Done! Make your virtual hard disk read only, and start creating differencing disks based on your new base disk.&lt;/li&gt; &lt;/ol&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5603724" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/Other+Stuff/default.aspx">Other Stuff</category></item><item><title>VirtualPC/Virtual Server machine at higher resolution than 1600x1200!</title><link>http://weblogs.asp.net/soever/archive/2008/01/07/virtualpc-virtual-server-machine-at-higher-resolution-than-1600x1200.aspx</link><pubDate>Mon, 07 Jan 2008 22:36:02 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5565765</guid><dc:creator>svdoever</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=5565765</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2008/01/07/virtualpc-virtual-server-machine-at-higher-resolution-than-1600x1200.aspx#comments</comments><description>&lt;p&gt;I have always been so annoyed by the fact that on my laptop with 1920x1200 resolution I could only get a connection to my virtual machines at a resolution of 1600x1200, the max resolution by the emulates S3 graphics board, resulting in two 160 pixesl wide black bars on the left and right sides. But on Vista I did get a connection on higher resolutions, after some searching I found that the old Remote Desktop Connection software of XP (SP2) was the problem. Upgrade it to version 6 and you worries are over. See: &lt;a title="http://support.microsoft.com/kb/925876/en-us" href="http://support.microsoft.com/kb/925876/en-us"&gt;http://support.microsoft.com/kb/925876/en-us&lt;/a&gt;. Happy virtual development!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5565765" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/Other+Stuff/default.aspx">Other Stuff</category></item><item><title>SharePoint Content Management Package (CMP) explorer</title><link>http://weblogs.asp.net/soever/archive/2008/01/07/sharepoint-content-management-package-cmp-explorer.aspx</link><pubDate>Sun, 06 Jan 2008 23:00:41 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5560976</guid><dc:creator>svdoever</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=5560976</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2008/01/07/sharepoint-content-management-package-cmp-explorer.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/ronalus" target="_blank"&gt;Ronalus&lt;/a&gt; has created a great small utility to explore the contents of SharePoint Content Management Pages called &lt;a href="http://blogs.msdn.com/ronalus/archive/2007/10/02/content-migration-package-explorer.aspx" target="_blank"&gt;Content Migration Package Explorer&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This tool can be used to investigate the data exported by the SharePoint Content Migration API. You can create an export either with stsadm.exe, or with custom code.&lt;/p&gt;  &lt;p&gt;As example for this weblog I exported a simple site containing some test data using the following command:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Stsadm.exe &amp;#8211;o export &amp;#8211;url &lt;/strong&gt;&lt;a href="http://wss3dev/FlexShop"&gt;&lt;strong&gt;http://wss3dev/FlexShop&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; -filename c:\temp\FlexShop -nofilecompression&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;We now have a folder containing the output files, a set XML files and other files:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image002_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="clip_image002" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image002_thumb.jpg" width="623" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If we fire up the Content Migration Package Explorer we get the following startup screen:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image004_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="772" alt="clip_image004" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image004_thumb.jpg" width="819" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can now enter the export folder and browse through the exported information using a simple to use explorer, see below for some screenshots:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image006_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="475" alt="clip_image006" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image006_thumb.jpg" width="644" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image008_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="151" alt="clip_image008" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image008_thumb.jpg" width="644" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image010_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="470" alt="clip_image010" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image010_thumb.jpg" width="644" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image012_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="254" alt="clip_image012" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image012_thumb.jpg" width="644" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image014_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="468" alt="clip_image014" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image014_thumb.jpg" width="644" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image016_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="469" alt="clip_image016" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointContentManagementPackageCMPexp_15175/clip_image016_thumb.jpg" width="644" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5560976" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>SharePoint development: handy little utility to get GUID’s and Attribute names</title><link>http://weblogs.asp.net/soever/archive/2008/01/06/sharepoint-development-handy-little-utility-to-get-guid-s-and-attribute-names.aspx</link><pubDate>Sun, 06 Jan 2008 16:56:24 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5559852</guid><dc:creator>svdoever</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=5559852</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2008/01/06/sharepoint-development-handy-little-utility-to-get-guid-s-and-attribute-names.aspx#comments</comments><description>&lt;p&gt;I just stumbled accross a handy little utility that is really handy during SharePoint development: &lt;a href="http://blogs.msdn.com/ronalus/archive/2007/09/08/a-little-guid-picker.aspx"&gt;Show List and ViewGUIDs&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Type a Site URL, and select &amp;#8220;Display Lists Titles and Ids&amp;#8221;. From the list of lists you can select a list GUID, and with right-click copy it to the &lt;strong&gt;List ID&lt;/strong&gt; input field.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointdevelopmenthandylittleutilityt_FC31/clip_image002_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="345" alt="clip_image002" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointdevelopmenthandylittleutilityt_FC31/clip_image002_thumb.jpg" width="665" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After clicking &amp;#8220;Display Views&amp;#8221; you see the available list views. Again you can select a view guid, and with right-click copy it to the &lt;strong&gt;View&lt;/strong&gt; input field.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointdevelopmenthandylittleutilityt_FC31/clip_image004_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="377" alt="clip_image004" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointdevelopmenthandylittleutilityt_FC31/clip_image004_thumb.jpg" width="666" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Select &amp;#8220;Display Items&amp;#8221; to display the list items in the view.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointdevelopmenthandylittleutilityt_FC31/clip_image006_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="505" alt="clip_image006" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointdevelopmenthandylittleutilityt_FC31/clip_image006_thumb.jpg" width="666" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;With a click on &amp;#8220;Display default List Attribute Names&amp;#8221; de internal names of the fields in the list are displayed.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointdevelopmenthandylittleutilityt_FC31/clip_image008_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="561" alt="clip_image008" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/SharePointdevelopmenthandylittleutilityt_FC31/clip_image008_thumb.jpg" width="665" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Very useful if you don't have tools like &lt;a href="http://blog.mondosoft.com/ontolica/archive/2007/02/15/SharePoint-Explorer-for-WSS3.aspx"&gt;SharePoint Explorer&lt;/a&gt; or &lt;a href="http://www.codeplex.com/spi"&gt;SharePoint Inspector&lt;/a&gt; installed, or if you find those tools too large/slow/complex to get some GUIDs and name information fast.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5559852" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>SharePoint stsadm.exe and the infamous "Command line error"</title><link>http://weblogs.asp.net/soever/archive/2007/12/22/sharepoint-stsadm-exe-and-the-infamous-quot-command-line-error-quot.aspx</link><pubDate>Sat, 22 Dec 2007 00:11:30 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5485210</guid><dc:creator>svdoever</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=5485210</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2007/12/22/sharepoint-stsadm-exe-and-the-infamous-quot-command-line-error-quot.aspx#comments</comments><description>&lt;p&gt;The SharePoint command-line utility stsadm.exe was driving me crazy for the last two days. I'm automating all kind of this from PowerShell scripts, but I got the error "Command line error" while I was absolutely sure that what I was doing was correct. I did &lt;strong&gt;stsadm.exe -o deletesolution foobar.wsp&lt;/strong&gt;. And the problem was: character encoding...&lt;/p&gt; &lt;p&gt;First I thought it was a problem with the way I executed this command from PowerShell. When I copied over the command to a different script it worked. What!!!??? Then I copied it over to the cmd.exe shell on the command line and I got the same error.&lt;/p&gt; &lt;p&gt;I started searching on Google and came accross &lt;a href="http://sharepointxperience.blogspot.com/2007/07/stsadm-command-line-error.html" target="_blank"&gt;this&lt;/a&gt; blogpost. It said it had something to do with &lt;strong&gt;encoding&lt;/strong&gt;. The blog post also pointed to &lt;a href="http://blogs.msdn.com/sharepoint/archive/2007/02/24/updated-installation-guide-for-the-20-server-admin-application-templates-for-wss-3-0.aspx" target="_blank"&gt;this&lt;/a&gt; blog post where people responded in the contents with the most hillarious solutions like:&lt;/p&gt; &lt;p&gt;If I type STSADM.EXE it works, while STSADM.exe does not work, or that a solution file must be in the same folder as stsadm.exe. Read the comments, it is fun how far off people can get.&lt;/p&gt; &lt;p&gt;Another post mentioning the problem is &lt;a href="http://www.tech-archive.net/Archive/SharePoint/microsoft.public.sharepoint.portalserver/2006-08/msg00651.html" target="_blank"&gt;this discussion thread&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The problem happened to be in the encoding. One way or the other it is possible to get different encodings while typing in the same command multiple times in the same cmd.exe shell. Don't ask me how.&lt;/p&gt; &lt;p&gt;If you have problems, type your text in an editor like &lt;a href="http://notepad-plus.sourceforge.net/"&gt;Notepad++&lt;/a&gt;, and switch between "Encode in ANSI" and "Encode in UTF-8" (it is under the Format menu in Notepad++). You see (sometimes)the dash(-) in &lt;em&gt;stsadm &lt;strong&gt;-&lt;/strong&gt;o command...&lt;/em&gt; change from '-' to a strange little block... There is the problem. The dash is not always a dash, it is a hyphen... And stsadm then thinks that no command is specified. Remove the strange block, type a hyphen while is&amp;nbsp;UTF-8 encoding, copy that and bingo!! It works.&lt;/p&gt; &lt;p&gt;Ok, how to repeat this:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Start Notepad++, set encoding to ANSI&lt;/li&gt; &lt;li&gt;Make sure the path to stsadm.exe is in your path environment variable (or use full path)&lt;/li&gt; &lt;li&gt;Type &lt;strong&gt;stsadm -o deletesolution foobar.wsp&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;Start cmd.exe&lt;/li&gt; &lt;li&gt;Copy the text over and press enter: voila, Command line error.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The strange thing is that even if you remove the dash (-), and type it again, it still gives errors. I have no clue why.&lt;/p&gt; &lt;p&gt;This dash/hypen thing is a common problem if you search Google, for more info see for example:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.celestialsoftware.net/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic;f=1;t=000048" target="_blank"&gt;Topic: Issue with UTF8 and the encoding...&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.cs.tut.fi/~jkorpela/dashes.html" target="_blank"&gt;A whole article of hyphens and dashes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5485210" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/soever/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/soever/archive/tags/PowerShell/default.aspx">PowerShell</category></item><item><title>The future of Domain Specific Languages on the Visual Studio platform</title><link>http://weblogs.asp.net/soever/archive/2007/11/22/the-future-of-domain-specific-languages-on-the-visual-studio-platform.aspx</link><pubDate>Thu, 22 Nov 2007 22:42:43 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5312990</guid><dc:creator>svdoever</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=5312990</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2007/11/22/the-future-of-domain-specific-languages-on-the-visual-studio-platform.aspx#comments</comments><description>&lt;p&gt;Now Visual Studio 2008 is released (I know, I'm blogger #100.000 to mention this) it is interesting to look at the future of one of the important building blocks on the Microsoft platform for building Software Factories: the DSL Tools.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/stuart_kent" target="_blank"&gt;Stuart Kent&lt;/a&gt;, Senior Program Manager with the Visual Studio Ecosystem team, reveals a part of the post Visual Studio 2008 roadmap for the DSL tools in its blog post &lt;a href="http://blogs.msdn.com/stuart_kent/archive/2007/11/22/dsl-tools-beyond-vs2008.aspx" target="_blank"&gt;DSL Tools beyond VS2008&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Some of the mentioned concepts are already available in the implementation of the &lt;a href="http://msdn2.microsoft.com/en-us/library/bb931187.aspx"&gt;Web Service Software Factory: Modeling Edition&lt;/a&gt;, really interesting to have a look at the code.&lt;/p&gt;  &lt;p&gt;The next version of Visual Studio will be Rosario. &lt;a href="http://www.clemensreijnen.nl/" target="_blank"&gt;Clemens Rijnders&lt;/a&gt; describes some of the new Rosario features with respect to DSLs in his blog post &lt;a href="http://www.clemensreijnen.nl/post/2007/11/Rosario-Team-Architect-CTP10-Preview.aspx" target="_blank"&gt;Rosario Team Architect CTP10 Preview&lt;/a&gt;. One promising concept is the Designer Bus, which should simplify working with multiple DSLs in the same domain that reference each other. Some support for this functionality in currently available as the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=BFBA74AF-4F28-44CC-8DE5-0C3C55D21863&amp;amp;displaylang=en" target="_blank"&gt;DSL integration service power toy&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5312990" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/SoftwareFactories/default.aspx">SoftwareFactories</category></item><item><title>PowerShell Exception handling using "Trap" explained - links</title><link>http://weblogs.asp.net/soever/archive/2007/11/22/powershell-exception-handling-using-quot-trap-quot-explained-links.aspx</link><pubDate>Thu, 22 Nov 2007 15:53:30 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5312436</guid><dc:creator>svdoever</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=5312436</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2007/11/22/powershell-exception-handling-using-quot-trap-quot-explained-links.aspx#comments</comments><description>&lt;p&gt;PowerShell has powerful exception handling, but it is badly documented and takes while to understand what the heck they actually want to do to wire up the exception handling.&lt;/p&gt; &lt;p&gt;I'm normally not such a link poster, this is more of a "post-to-self" item that might be useful for others as well.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;See &lt;a href="http://huddledmasses.org/trap-exception-in-powershell/" target="_blank"&gt;Trap [Exception] { “In PowerShell” }&lt;/a&gt; for a very good explantation&lt;/li&gt; &lt;li&gt;See &lt;a href="http://weblogs.asp.net/adweigert/archive/2007/10/10/powershell-try-catch-finally-comes-to-life.aspx" target="_blank"&gt;PowerShell: Try...Catch...Finally Comes To Life&lt;/a&gt; for a Try/Catch/Finally implementation in PowerShell for the more c# oriented developers&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5312436" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/PowerShell/default.aspx">PowerShell</category></item><item><title>The P&amp;P Web Service Software Factory modeling edition and the Secret Dutch Software Factory Society</title><link>http://weblogs.asp.net/soever/archive/2007/11/17/the-p-amp-p-web-service-software-factory-modeling-edition-and-the-secret-dutch-software-factory-society.aspx</link><pubDate>Fri, 16 Nov 2007 23:46:12 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5252852</guid><dc:creator>svdoever</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=5252852</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2007/11/17/the-p-amp-p-web-service-software-factory-modeling-edition-and-the-secret-dutch-software-factory-society.aspx#comments</comments><description>&lt;p&gt;It is final! After almost nine months of hard work the version 3 of the Patterns&amp;amp;Practices Service Factory is &lt;a href="http://www.codeplex.com/servicefactory" target="_blank"&gt;released on CodePlex&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/jdanforth/default.aspx" target="_blank"&gt;Johan Danforth&lt;/a&gt; already published this announcement &lt;a href="http://weblogs.asp.net/jdanforth/archive/2007/11/09/service-factory-modeling-edition-vs2005-released.aspx" target="_blank"&gt;here&lt;/a&gt;, but it doesn't hurt to bring it to your attention again because this stuff is good!&lt;/p&gt;  &lt;p&gt;And the strange thing is that &lt;a href="http://blogs.msdn.com/donsmith/" target="_blank"&gt;Don Smith&lt;/a&gt;, the Technical Product Planner of the Service Factory didn't had the time to blog about it and announce it officially. But I know why: he is a busy man! After TechEd 2007 in Barcelona last week (&lt;a href="http://www.mseventseurope.com/teched/07/developers/news/Pages/day5.aspx" target="_blank"&gt;interview video&lt;/a&gt;), he was so kind to take the time to repeat the 3-days &lt;a href="http://blogs.msdn.com/donsmith/archive/2007/07/16/service-factory-customization-workshop.aspx" target="_blank"&gt;Service Factory Customization Workshop&lt;/a&gt; in the Netherlands with the &lt;a href="http://blogs.msdn.com/donsmith/archive/2007/07/16/service-factory-customization-workshop.aspx" target="_blank"&gt;Secret Dutch Software Factory Society&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I heard about this workshop through &lt;a href="http://bloggingabout.net/blogs/olaf/" target="_blank"&gt;Olaf Conijn&lt;/a&gt;, who used to work at our great company &lt;a href="http://www.macaw.nl" target="_blank"&gt;Macaw&lt;/a&gt;. He announced the Dutch workshop in this &lt;a href="http://bloggingabout.net/blogs/olaf/archive/2007/10/12/announcing-the-european-service-factory-customization-workshop-held-14-15-16-november-in-the-netherlands.aspx" target="_blank"&gt;blog post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Olaf and Don did give this fantastic workshop at the domains of &lt;a href="http://www.infosupport.nl/" target="_blank"&gt;InfoSupport&lt;/a&gt; in Veenendaal, the Netherlands (thanks for the hospitality Marcel!). Way to far away from home (okay 80km in the Netherlands is trouble in the morning and afternoon), so a good reason to take a hotel and continue in the evenings where you often have the best conversations about beer, woman, and... oh ya, software factories.&lt;/p&gt;  &lt;p&gt;Don and Olaf are great guys who know their stuff, and they even both did &lt;a href="http://www.bikramyoga.nl/" target="_blank"&gt;Bikram yoga&lt;/a&gt;, my addiction in life;-)&lt;/p&gt;  &lt;p&gt;I personally wasn't really that interested in the web services part of the Web Service software factory, but in the customization part. And that is what we did. We customized the factory without &amp;quot;cracking the factory&amp;quot; (change the source code) through the great extensibility points that are available, and customized it while &amp;quot;cracking the factory&amp;quot; and changing the code. And the good thing is: this scenario is supported, documented and it is actually expected behavior to be done by companies who will be using the Service Factory;-). And the brilliant thing is: they even provided the code to build a complete MSI installer for your modified Service Factory!&lt;/p&gt;  &lt;p&gt;The factory is provided with complete (recompileable) source code, and contains a lot of really interesting factory plumbing that I will elaborate on in a later post.&lt;/p&gt;  &lt;p&gt;One thing is sure: we are definitely going to integrate the Web Service Software Factory into the &lt;a href="http://vincenth.net/blog/archive/2006/04/14/realizing-the-software-factories-vision-for-a-microsoft-systems-integrator.aspx" target="_blank"&gt;Macaw Solutions Factory&lt;/a&gt;, our own software factory. It will fit like a glove (after some customization of course;-)). Brilliant work P&amp;amp;P!&lt;/p&gt;  &lt;p&gt;Another great thing of three days together with 25 people busy with software factories is the amount of collective knowledge and the wealth of information we did share with each other. My compliments to Don and Olaf for providing a lot of room for this information sharing.&lt;/p&gt;  &lt;p&gt;We gave presentations to each other about the things we are doing with software factories:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.linkedin.com/pub/4/451/4B1" target="_blank"&gt;Gerben van Loon&lt;/a&gt; of &lt;a href="http://www.avanade.com" target="_blank"&gt;Avanade&lt;/a&gt; talked about the Avenade's SOA Factory which supports the same domain as the Web Service SoftwareFactory. It is model driven (DSL), already built ages before the Service Factory: modeling edition, and has proved itself in over 20 projects. Many of its ideas actually influenced the P&amp;amp;P Service Factory modeling edition &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.vincenth.net/blog/" target="_blank"&gt;Vincent Hoogendoorn&lt;/a&gt; en I talked about the &lt;a href="http://vincenth.net/blog/archive/2006/04/14/realizing-the-software-factories-vision-for-a-microsoft-systems-integrator.aspx" target="_blank"&gt;Macaw Solutions Factory&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.infosupport.com/marcelv/" target="_blank"&gt;Marcel de Vries&lt;/a&gt; of &lt;a href="http://www.infosupport.nl/" target="_blank"&gt;InfoSupport&lt;/a&gt; talked about their software factory &lt;a href="http://www.infosupport.nl/Professionaldevelopment" target="_blank"&gt;Endeavour&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.clemensreijnen.nl/" target="_blank"&gt;Clemens Reijnen&lt;/a&gt; of &lt;a href="http://www.sogeti.nl" target="_blank"&gt;Sogeti&lt;/a&gt; talked about his work on integrating the Service Factory with the Distributed System Designer of the &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718804.aspx" target="_blank"&gt;Visual Studio Team System for Software Architects&lt;/a&gt; SKU &lt;/li&gt;    &lt;li&gt;Gerardo de Geest of &lt;a href="http://www.avanade.com" target="_blank"&gt;Avanade&lt;/a&gt; talked about research he has done on Building a framework to support Domain Specific Language evolution using Microsoft DSL Tools (&lt;a href="http://www.dsmforum.org/events/DSM07/slides/degeest.ppt" target="_blank"&gt;presentation&lt;/a&gt;, &lt;a href="http://www.dsmforum.org/events/DSM07/papers/geest.pdf" target="_blank"&gt;article&lt;/a&gt;). Based on this work Avenade hopes to be able to migrate models from the Avenade factory to the P&amp;amp;P Service Factory &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For more information see the MSDN landing page &lt;a href="http://msdn2.microsoft.com/en-us/library/bb931187.aspx" target="_blank"&gt;Web Service Software Factory: Modeling Edition&lt;/a&gt;. Check it out!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5252852" width="1" height="1"&gt;</description></item><item><title>Powershell: Is a SharePoint solution installed or deployed?</title><link>http://weblogs.asp.net/soever/archive/2007/10/10/powershell-is-a-sharepoint-solution-installed-or-deployed.aspx</link><pubDate>Wed, 10 Oct 2007 18:39:23 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:4518204</guid><dc:creator>svdoever</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=4518204</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2007/10/10/powershell-is-a-sharepoint-solution-installed-or-deployed.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(0,0,0)"&gt;I was having some fun with PowerShell to talks against the SharePoint object model. I needed to know if a SharePoint solution was installed and if it was deployed. I got to the code below. Might be handy for someone to see how easy it is to&amp;nbsp;get info out of SharePoint.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(0,0,0)"&gt;And the purpose I need it for? In our Macaw Solutions Factory we have a development build and a package build. Development build for SharePoint deploys everything to the bin folder of one or more web applications. Package build&amp;nbsp;creates a solution package (.wsp file) that does install assemblies to the GAC. If this solutions package is deployed on the development machine, we want to detect that, because you will not&amp;nbsp;see any changes after compile in a development build. The GAC assemblies have precedence over the assemblies in the web application bin folder.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(0,0,0)"&gt;So here is the code, have fun with it.&lt;/span&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,0)"&gt;[void][reflection.assembly]::LoadWithPartialName(&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;Microsoft.SharePoint&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;)

&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; global:&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;Test-SharePointSolution&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
{
    param
    (
        &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solutionName&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;(throw &lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;Missing: solutionName&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;),
        [&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;switch&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;]&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$installed&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;,
        [&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;switch&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;]&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$deployed&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
    )
    
    &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;!&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solutionName&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;.EndsWith(&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;.cab&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;) &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;or&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solutionName&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;.EndsWith(&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;.wsp&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;) &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;or&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solutionName&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;.EndsWith(&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;.wpp&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;)))
    {
        throw &lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;solution name '$solutionName' should end with .cab, .wsp or .wpp&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
    }
    
    &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$installed&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;and&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$deployed&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;)
    {
        throw &lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;Select either the '-installed' switch parameter or the '-deployed' switch parameter, not both at the same time&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
    }
    
    &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$farm&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; [Microsoft.SharePoint.Administration.SPFarm]::get_Local()
    &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solutions&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$farm&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;.get_Solutions()
    &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solutioncheck&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$false&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
    &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;foreach&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solution&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;in&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solutions&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;)
    {
        &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solution&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;.Name &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;-ieq&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solutionName&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;)
        {
            &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$deployed&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;)
            {
                &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solutioncheck&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solution&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;.Deployed
            }
            &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;else&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
            {
                &lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt; installed, is always true if we get here&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;                &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solutioncheck&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$true&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
            }
            &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;break&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        }
    }
    &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$solutioncheck&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
}

&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;Test-SharePointSolution&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;solutionName&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; wikidiscussionsolution.wsp &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;installed&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;Test-SharePointSolution&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;solutionName&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; wikidiscussionsolution.wsp &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;deployed&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4518204" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/soever/archive/tags/PowerShell/default.aspx">PowerShell</category></item><item><title>PowerShell: Creating a SharePoint solution package (WSP file) with CAS</title><link>http://weblogs.asp.net/soever/archive/2007/10/10/powershell-creating-a-sharepoint-solution-package-wsp-file-with-cas.aspx</link><pubDate>Wed, 10 Oct 2007 18:31:23 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:4518195</guid><dc:creator>svdoever</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=4518195</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2007/10/10/powershell-creating-a-sharepoint-solution-package-wsp-file-with-cas.aspx#comments</comments><description>&lt;p&gt;I need to add some code access security information to a SharePoint solution package manifest file. Given the assembly file we can retrieve the required assembly info, and with some xml magic in PowerShell create some result xml. It is not actually the exact code I use in my solution, but it shows the job...&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt; function: GetAssemblyInfo&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt; Arguments: $assemblyFile - path to assembly file to determine information from&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt; Returns: Hashtable with the following keys: PublicKeyBlob, Name, Version&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; global:GetAssemblyInfo&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; param&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$assemblyFile&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;(Throw&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;Missing: assemblyFile&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;!&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;Test-Path&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;Path&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$assemblyFile&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Throw&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;Assembly file '$assemblyFile' does not exist&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt; Secutil returns:&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;Line 0: Microsoft (R) .NET Framework SecUtil 2.0.50727.42&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;Line 1: Copyright (c) Microsoft Corporation.&amp;nbsp; All rights reserved.&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;Line 2:&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;Line 3: Public Key =&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;Line 4: 0x00240000048000009400000006020000002400005253413100040000010001003BBC200DC39F9419851471C4AF65A91540C5904D72694CDE6DF63427FAD8D180630538338E557D90BA4F18A2EF6F44F3A53A5C7CFE625F4954D53B4FF9CF700226FDF13F04731EDED323B1821BA38C5F310231007E7AF862F497174A127BD42C0FA4FAFF1154910B48E177E090888A7745145ED4F4F7BB75D28D6616961A71E3&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;Line 5: Name =&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;Line 6: Macaw.Mast.Wss3.Templates.Presentation.WebAppUI&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;Line 7: Version =&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;Line 8: 1.0.0.0&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;Line 9: Success&lt;/span&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$secutilExe&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\SecUtil.exe&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$resultLines&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$secutilExe&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;hex&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;s&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$assemblyFile&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$resultLines&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;[&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;9&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;]&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;-ne&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;Success&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Throw&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;secutil.exe can't determine assembly information from assembly file '$assemblyFile', secutil.exe command failed&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @{&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;PublicKeyBlob&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$resultLines&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;[&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;4&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;];&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$resultLines&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;[&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;6&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;];&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;Version&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$resultLines&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;[&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;8&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;] }&lt;br&gt;}&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,128,0)"&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$assemblyFile&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;C:\Inetpub\wwwroot\wss\VirtualDirectories\1000\bin\Macaw.Mast.Wss3.Templates.Presentation.WebAppUI.dll&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$result&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; GetAssemblyInfo &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;assemblyFile&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$assemblyFile&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$result&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;This will result in the following output:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/PowerShellSharePointCASassemblyinformati_BD3/secutilinfo2.jpg" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="100" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/PowerShellSharePointCASassemblyinformati_BD3/secutilinfo_thumb.jpg" width="869" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;We can now create out code access security information (in this case in a SharePoint solution package manifest.xml file with code similar to the following code:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;$assemblyInfo&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; GetAssemblyInfo &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,128,128)"&gt;assemblyFile&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$assemblyFile&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$policyItem&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;@"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;
&amp;lt;PolicyItem&amp;gt;
    &amp;lt;PermissionSet class=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;NamedPermissionSet&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt; version=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt; Description=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;Macaw Solution Factory generated permissionSet&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt; Name=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$assemblyInfo&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;.Name)&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;PermissionSet&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;WebPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
            &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;ConnectAccess&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
                &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;URI uri&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;`$OriginHost`$&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
            &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;ConnectAccess&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;SmtpPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Access&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;Connect&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;SharePointPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; ObjectModel&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;True&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;PrintingPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Level&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;DefaultPrinting&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;FileIOPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Read&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;`$AppDir`$&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Write&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;`$AppDir`$&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Append&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;`$AppDir`$&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; PathDiscovery&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;`$AppDir`$&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;EnvironmentPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Read&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;TEMP;TMP;USERNAME;OS;COMPUTERNAME&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;SqlClientPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Unrestricted&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;true&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;SecurityPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Flags&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;Assertion, Execution, ControlThread, ControlPrincipal, RemotingConfiguration&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;DnsPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Unrestricted&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;true&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;WebPartPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Connections&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;True&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;AspNetHostingPermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Level&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;Medium&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
        &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;IPermission class&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;IsolatedStorageFilePermission&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Allowed&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;AssemblyIsolationByUser&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; UserQuota&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;9223372036854775807&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
    &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;PermissionSet&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;Assemblies&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
	&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;Assembly Name&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;$($assemblyInfo.Name)&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; Version&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;$($assemblyInfo.Version)&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; PublicKeyBlob&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;$($assemblyInfo.PublicKeyBlob)&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;Assemblies&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;PolicyItem&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;@&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$xmltext&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;@"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;
&amp;lt;?xml version=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;1.0&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt; encoding=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;utf&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;8&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;Solution DeploymentServerType&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;WebFrontEnd&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; SolutionId&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;2244989E-9DA9-4a5d-9767-0D8F387181B7&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; ResetWebServer&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;true&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
    &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;CodeAccessSecurity&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
    &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;CodeAccessSecurity&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;Solution&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;@&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
[xml]&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$xmlDoc&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt; &lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$xmltext&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$xmlDoc&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;.SelectSingleNode(&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;/Solution/CodeAccessSecurity&lt;/span&gt;&lt;span style="color: rgb(0,0,128)"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;).set_InnerXml(&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$policyItem&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;)
&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;$xmlDoc&lt;/span&gt;&lt;span style="color: rgb(0,0,0)"&gt;.get_InnerXml()
&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This will results in the following output:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/PowerShellSharePointCASassemblyinformati_BD3/manifestxml2.jpg" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="465" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/PowerShellSharePointCASassemblyinformati_BD3/manifestxml_thumb.jpg" width="914" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In the production of a real SharePoint solution package a lot more is happening, but this showcases some of the PowerShell power you can use to get the job done.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4518195" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/soever/archive/tags/PowerShell/default.aspx">PowerShell</category></item><item><title>Visual Studio SDK 4.0, Vista and symbolic links...</title><link>http://weblogs.asp.net/soever/archive/2007/09/22/visual-studio-sdk-4-0-vista-and-symbolic-links.aspx</link><pubDate>Sat, 22 Sep 2007 21:55:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:4050244</guid><dc:creator>svdoever</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=4050244</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2007/09/22/visual-studio-sdk-4-0-vista-and-symbolic-links.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;When you install Visual Studio SDK on Vista, it doesn't install by default on X:\Program Files, but on X:\Program Files (x86).&lt;/P&gt;
&lt;P mce_keep="true"&gt;When I tried to recompile the &lt;A class="" href="http://www.codeplex.com/vsipfactory" target=_blank mce_href="http://www.codeplex.com/vsipfactory"&gt;VSIP Software Factory&lt;/A&gt; from &lt;A class="" href="http://www.codeplex.com/" target=_blank mce_href="http://www.codeplex.com"&gt;Codeplex&lt;/A&gt;, it had links to the Visual Studio SDK in c:\program files.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Instead of moving things around I created a symbolic directory link:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;mklink&amp;nbsp; /D "Visual Studio 2005 SDK" "c:\Program Files (x86)\Visual Studio 2005 SDK"&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Works like a breeze!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4050244" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/soever/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>SharePoint: Custom Field Type for MultiLine text</title><link>http://weblogs.asp.net/soever/archive/2007/09/18/sharepoint-custom-field-type-for-multiline-text.aspx</link><pubDate>Tue, 18 Sep 2007 12:42:47 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:3941383</guid><dc:creator>svdoever</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=3941383</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2007/09/18/sharepoint-custom-field-type-for-multiline-text.aspx#comments</comments><description>&lt;p&gt;When you add a custom field type that can hold more than the 255 characters you can't use a field of type SPFieldText because it has a max length of 255 characters. &lt;/p&gt; &lt;p&gt;An obvious candidate is to use the field type SPFieldMultiLineText. No problems so far. But... in&amp;nbsp;your custom version of the fldtypes.xml file (for example fldtypes_mytypes.xml) you have to define your parent type of the custom field. You would expect a parent type named MultiLineText, but no, that would be too obvious. It should be Note. Not documented, such a pity...&lt;/p&gt; &lt;p&gt;For example:&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;xml&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;version&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;1.0&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;encoding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;utf-8&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; ?&amp;gt;&lt;br&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;FieldTypes&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;FieldType&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;TypeName&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;LongText&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;ParentType&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Note&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;TypeDisplayName&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Long Text&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;TypeShortDescription&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Long Text&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;UserCreatable&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;TRUE&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;Sortable&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;FALSE&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;AllowBaseTypeRendering&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;TRUE&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;Filterable&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;FALSE&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;FieldTypeClass&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;...full qualified class,assembly name...&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Field&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;PropertySchema&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Fields&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Fields&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;PropertySchema&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;RenderPattern&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;DisplayPattern&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Column&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;RenderPattern&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;FieldType&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;FieldTypes&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;&lt;/p&gt;&lt;/span&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt; &lt;p&gt;A link with some more info (in Spannish): &lt;a href="http://www.ideseg.com/SharePointDestripandoElWiki4.aspx"&gt;http://www.ideseg.com/SharePointDestripandoElWiki4.aspx&lt;/a&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="605EEA63-B54B-4e6d-A290-F5E9E8229FC1:c0ce3b82-51e9-493f-94e2-a592b9e73a95" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;/div&gt; &lt;div class="wlWriterSmartContent" id="605EEA63-B54B-4e6d-A290-F5E9E8229FC1:c7df5f5f-5b6c-4b96-87dd-13b9c73ccbf6" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;/div&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=3941383" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/SharePoint/default.aspx">SharePoint</category></item></channel></rss>