Windows 8 – Consumer Preview – Installation
The most recent release of Microsoft Windows 8 is the Consumer Preview, which was released on February 29, 2012. I did a blog post on September 14, 2011, where I displayed screenshots of my installation process.
This post I will do the same thing, but this time with the Consumer Preview version of Windows 8.
To get a copy of the Windows 8 Consumer Preview download, head to the link below.
http://windows.microsoft.com/en-US/windows-8/download If you want the ISO download, then head to this link.
The serial key for all installations (x86 & x64) is: DNJXJ-7XBW8-2378T-X22TX-BKG7J
Below is a list of screenshots I took though my installation process. Enjoy …
Key: DNJXJ-7XBW8-2378T-X22TX-BKG7J
Greg Olsen
Yellow Duck Guy
Microsoft Dynamics CRM 2011 – Error When Browsing Discovery.svc Service
Today I had to resolve a customer issue where the Dynamics CRM 2011 for Outlook Configuration Wizard could not find the CRM 2011 server and the CRM server did exist on the domain.
I was connecting Microsoft Outlook 2007 to CRM 2011 via the installed add-in Microsoft Dynamics CRM 2011 for Outlook.
My list of areas to troubleshoot this issue was as follows:
- Check CRM 2011 server is running ok. Can I browse it from the CRM Server?
- Check I can ping the CRM server from the Outlook client PC
- Check I can browse to CRM from the web browser on the Outlook client PC
- Check I can resolve the Discovery.svc service. CRM for Outlook Configuration tool uses this.
- Check the registry settings for the Configuration settings of CRM for Outlook
The Issue
Going through this list I found I could not resolve the Discovery.svc service from the Outlook client PC. You should be able to resolve the Discovery.svc service using the following URL. http://[yourcrmserver]/XRMServices/2011/Discovery.svc
You should see a page similar to below when you can successfully render the Discovery Service.
So I thought I had a possible IIS issue as I couldn’t render the service on the CRM server as well. I decided to check the Event Viewer first for any clues. Below is the error message I received.
WebHost failed to process a request.
Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/63835064
Exception: System.ServiceModel.ServiceActivationException: The service ‘/XRMServices/2011/Discovery.svc’ cannot be activated due to an exception during compilation. The exception message is: This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting ‘system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled’ to true or specifying ‘system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters’.
Parameter name: item. —> System.ArgumentException: This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting ‘system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled’ to true or specifying ‘system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters’.
Parameter name: item
at System.ServiceModel.UriSchemeKeyedCollection.InsertItem(Int32 index, Uri item)
at System.Collections.Generic.SynchronizedCollection`1.Add(T item)
at System.ServiceModel.UriSchemeKeyedCollection..ctor(Uri[] addresses)
at System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses)
at Microsoft.Crm.Sdk.V5.DiscoveryServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
— End of inner exception stack trace —
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
Process Name: w3wp
Process ID: 4116
- From this error message it seems their is a http bindings issue within IIS. Then it came to me! One of our infrastructure guys had created another port binding for CRM to be on port 80 for some other unrelated testing.
Resolution
Therefore to resolve this I had to remove the extra http binding in the Microsoft Dynamics CRM website within IIS.
To change or investigate your site bindings, click on Bindings… under Edit Site in IIS as shown below.
You should only have one http binding in the list as shown below. Note: I have removed the binding which was causing the problem in the image below.
Its possible to have multiple http bindings, but you will need to change some web.config values which contain multipleSiteBindingsEnabled and set it to true. See the error message earlier for more information.
Hope that helps!
Greg Olsen
Yellow Duck Guy
Microsoft Dynamics CRM 2011–Changing Microsoft Dynamics CRM Logo
You can change the Microsoft Dynamics CRM logo within CRM 2011 very easily. However, this is classified as an unsupported change, so manage the change!
The Microsoft Dynamics CRM 2011 logo,
is shown at the top of the CRM system by default. Some users get confused when switching between the UAT and PROD sites. One thing you could do is change UAT to show ‘UAT – TEST’ as shown below.
Before
After
The file you need to change is located here:
<CRMWeb Dir>\_Imgs\CRMMastHeadLogo.png
Just take a copy of the file CRMMastHeadLogo.png and replace it with the same size image of your desire. That’s it. Easy aye?
I must create a note here. If you are using a multi-tenancy or multi-organisation setup, then this image will appear on all sites because you are sharing the same CRM web instance. You would need to right some code to switch the image on the name of your organisation. But again, that’s not supported.
Greg Olsen
Yellow Duck Guy
Microsoft Dynamics CRM 2011–SDK v5.09 Released
New version of the Software Development Kit (SDK) for Microsoft Dynamics CRM 2011 has been released. This release is v5.0.9.
Some of the updates include:
- Updated assemblies for Microsoft Dynamics CRM 2011 Update Rollup 6 and the Microsoft Portal developer toolkit and developer extensions.
- Information about creating localized dialog processes within CRM.
- New samples that authenticate the user with the web services without using the helper code.
- New topic to help developers find information about using JavaScript with various features that support it.
- New and updated code samples
Download from the link below. Size is: 73.5MB
MicrosoftDynamicsCRM2011SDK.exe
First post for the new 2012 year. So Happy Coding!
Greg Olsen
Yellow Duck Guy
Microsoft Dynamics CRM 2011 – Insufficient Permissions
Today I was presented with the following error with Microsoft Dynamics CRM 2011:
Insufficient Permissions
The signed-in user does not have the appropriate security permissions to view these records or perform the specific action. Contact your organization’s Microsoft Dynamics CRM administrator to review the security permissions for this user.
Downloaded Log file details:
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: System.Web.HttpUnhandledException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #9017EC98Detail:
<OrganizationServiceFault xmlns:i=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”http://schemas.microsoft.com/xrm/2011/Contracts”>
<ErrorCode>-2147220970</ErrorCode>
<ErrorDetails xmlns:d2p1=”http://schemas.datacontract.org/2004/07/System.Collections.Generic” />
<Message>System.Web.HttpUnhandledException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #9017EC98</Message>
<Timestamp>2011-12-12T09:31:41.7668235Z</Timestamp>
<InnerFault>
<ErrorCode>-2147220960</ErrorCode>
<ErrorDetails xmlns:d3p1=”http://schemas.datacontract.org/2004/07/System.Collections.Generic” />
<Message>RoleService::VerifyCallerPrivileges failed. User: b5843300-64c1-e011-b6cb-00155d087d2e, PrivilegeName: prvReadPostFollow, PrivilegeId: 2208583f-626b-11e0-834f-1cc1de634cfe, Depth: Global, BusinessUnitId: 7b9fc999-7221-e111-8b54-005056a50003</Message>
<Timestamp>2011-12-12T09:31:41.7668235Z</Timestamp>
<InnerFault i:nil=”true” />
<TraceText i:nil=”true” />
</InnerFault>
<TraceText i:nil=”true” />
</OrganizationServiceFault>
I thought how could this possibly be? I am the System Administrator! Therefore I knew that something was seriously wrong with this instance of CRM. I couldn’t add any Security Roles to any user of the CRM 2011 system. Before I found the issue (which I’m about to tell you) I ran a number of SQL statements to check all the privileges of the user I was using. However, these all looked ok. I do know this environment was built by taking a SQL backup of the _MSCRM database from another environment and making it available via the Import Organisation option within the CRM Deployment Manager. So what could it be?
The Cause
The cause was that I had two different environments of CRM 2011 installed i.e. UR3 vs UR5. The environment the error was shown had Update Rollup 3 installed. The database backup of the CRM system was taken fromand environment which had the Update Rollup 5 installed. I then checked the versions (File > Help > About Microsoft Dynamics CRM).
Microsoft Dynamics CRM 2011 with Update Rollup 3 – 5.0.9688.1244
Microsoft Dynamics CRM 2011 with Update Rollup 5 – 5.0.9688.1533
So sure enough, they are different! 5.0.9688.1244 != 5.0.9688.1533
The Fix
Install Microsoft Dynamics CRM 2011 Update Rollup 5 file called CRM2011-Server-KB2567454-ENU-amd64.exe (54.9MB) to your CRM 2011 Web Server where Update Rollup 5 was not installed. Remember, the error was presented on the environment with only Update Rollup 3 installed.
Once you have completed the install and restarted the server, retry adding a Security Role to a user. You should notice you can now add the desired Security Role because we now have the same Update Rollup applied from the environment the CRM system was originally built from.
Hope that helps you?
Greg Olsen
YellowDuckGuy
Microsoft Dynamics CRM 2011 – Database cannot be started in this edition of SQL Server
This article outlines what is required to repair the AuditPFN or Database cannot be started in this edition of SQL Server’ errors respectively.
If you try and restore a CRM 2011 database organisation from SQL Server 2008 R2 Enterprise Edition instance to a SQL Server 2008 R2 Standard Edition, then you will most likely hit the error shown below.
What does this mean?
When CRM 2011 is installed using the SQL Server Enterprise Edition, then a partition is created for the auditing functionality built in CRM 2011. The AuditBase table within CRM 2011 uses partitioning which is only available within SQL Server Enterprise Edition. If you then try and restore a backup of the database from SQL Server Enterprise Edition and restore it within SQL Server Standard Edition , then it will not start because SQL Server Standard Edition doesn’t support partitioning.
The fix/change Required
What you will need to do is use a T-SQL script to remove the partitioning from the backup SQL database. Follow the steps below to fix this issue.
1. Restore the ‘<yourcrmorgname>_MSCRM’ database to a server running Microsoft SQL Server Enterprise Edition.
2. Run the following script against the restored database. This script recreates all the indexes on the primary partition and then drops the partition.
Note: Don’t use your production or live database! Use a test server for this.
IF EXISTS (SELECT name FROM sys.partition_schemes WHERE name=‘AuditPScheme’)
BEGIN
SELECT
CASE WHEN ind.type != 1
THEN
‘DROP INDEX [dbo].[AuditBase].’ + QUOTENAME(ind.name) + ‘ ‘
ELSE ‘ ‘
END +
‘CREATE ‘ + CASE is_unique WHEN 1 THEN ‘UNIQUE ‘ ELSE ” END +
ind.type_desc + ‘ INDEX ‘ + QUOTENAME(ind.name COLLATE SQL_Latin1_General_CP1_CI_AS ) + ‘ ON [dbo].’ + QUOTENAME(OBJECT_NAME(object_id)) + ‘ (‘ +
REVERSE(SUBSTRING(REVERSE((
SELECT name + CASE WHEN sc.is_descending_key = 1 THEN ‘ DESC’ ELSE ‘ ASC’ END + ‘,’
FROM
sys.index_columns sc
JOIN sys.columns c ON sc.object_id = c.object_id AND sc.column_id = c.column_id
WHERE
OBJECT_NAME(sc.object_id) = ‘AuditBase’ AND
sc.object_id = ind.object_id AND
sc.index_id = ind.index_id
ORDER BY index_column_id ASC
FOR XML PATH(”)
)), 2, 8000)) + ‘)’ +
CASE WHEN ind.type = 1
THEN
‘ WITH (DROP_EXISTING = ON) ON [PRIMARY]‘
ELSE
‘ ‘
END as Script
INTO #indexesScript
FROM sys.indexes ind
JOIN sys.partition_schemes ps on ind.data_space_id=ps.data_space_id
WHERE
OBJECT_NAME(object_id) = ‘AuditBase’
AND ps.name = ‘AuditPScheme’
AND is_unique_constraint = 0
SELECT * FROM #indexesScript
DECLARE @recreateScript nvarchar(max)
DECLARE indScript CURSOR FOR
SELECT Script FROM #indexesScript
OPEN indScript
FETCH NEXT FROM indScript INTO @recreateScript
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRANSACTION t1
Execute sp_executesql @recreateScript
IF @@ERROR > 0
BEGIN
ROLLBACK TRAN t1
declare @message varchar(max)
set @message = ‘Audit history recreate index failed. SQL: ‘ + @recreateScript
RAISERROR (@message, 10,1)
END
ELSE
BEGIN
COMMIT TRAN
END
FETCH NEXT FROM indScript INTO @recreateScript
END
DROP PARTITION SCHEME AuditPScheme
DROP PARTITION FUNCTION AuditPFN
CLOSE indScript
DEALLOCATE indScript
DROP TABLE #indexesScript
END
3. Once you have run the script (as shown above), you can backup the database.
4. Restore the database from step 3 to a server running Microsoft SQL Server Standard edition. This database should now restore with no errors (AuditPFN issue is gone) and start correctly.
Hope this helps?
Greg Olsen
Yellow Duck Guy
Microsoft Dynamics CRM 2011–Diagnostics Tool Download
I am always trying to locate the CRM 2011 Diagnostic Tool to support any potential issues I encounter with CRM 2011. Therefore, today I have decided to upload the tool to my blog for easy reference especially when I’m on customer site.
The tool allows you to enable tracing of your CRM 2011 system to find what errors were raised when you encountered the error (well that’s the aim). You can also enable/disable DevErrors as well.
Download the tool from here: http://www.box.com/s/y3alg4ghjgq6saoeaqgc
Greg Olsen
Yellow Duck Guy


