Dynamics CRM deployment issue - deployment

We are trying to deploy our unmanaged solution from our development system as a managed solution to our production system, as we do regularly.
We are now getting a deployment failure: the deployment rolls back. I download the deployment report: It shows that all entities and diagrams are deployed and that the dashboards (next item on the list) were not started. No issue is shown.
Then I run a trace on the server. It shows a "duplicate key" exception: "inserted element already exists". But there is no real indication which record is causing the conflict.
Crm Exception: Message: Import failed, ErrorCode: -2147188706, InnerException: System.ArgumentException: Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.
bei System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
bei Microsoft.Crm.Tools.ImportExportPublish.IgnoreCustomizedReportsTreeInNonOverwriteMode.FindExistingRelations(XmlNodeList reports, Guid solutionId)
bei Microsoft.Crm.Tools.ImportExportPublish.IgnoreCustomizedReportsTreeInNonOverwriteMode.Execute(IXPathNavigable reportsRoot, ExecutionContext context)
bei Microsoft.Crm.Tools.ImportExportPublish.ReportPreImportHandler.ExecutePreImportSteps(XmlNode reportsNode, ExecutionContext context)
bei Microsoft.Crm.Tools.ImportExportPublish.ImportReportsHandler.ImportItem()
bei Microsoft.Crm.Tools.ImportExportPublish.ImportHandler.Import()
bei Microsoft.Crm.Tools.ImportExportPublish.RootImportHandler.ImportAndUpdateProgress(ImportHandler ih)
bei Microsoft.Crm.Tools.ImportExportPublish.RootImportHandler.ProcessMetadataHandlers(String[] ImportEntities, Hashtable ht, String& curPath, ImportHandler& ihForCurrentPath, CounterList listCounters)
bei Microsoft.Crm.Tools.ImportExportPublish.RootImportHandler.RunImport(String[] ImportEntities)
Question: How do other programmers hunt this kind of issue?
It is an on-premise installation.

We solved the issue. For an unknown reason we had all Dynamics standard reports twice in our solution. They are also now present twice on the development system. Since those are managed reports, we can't delete them from the development system. But we removed them from the solution. Now deployment is working again.
There are still some open questions:
a) Why are the reports present twice on the dev system and in the solution?
b) Why is it a problem to import the reports twice to the prod system when they obviously coexist in the dev system.

Related

OpsHub User Mapping Error

I'm using the OpsHub Visual Studio Online Migration tool to migrate a TFS2010 project (source code only) to Visual Studio online. On the user mapping screen, I made my mappings (most to anonymous, but a few key users with mappings) and off it went. After a while I got the following:
249/410 Changeset(s)/Label(s) passed
1/410 Changeset(s)/Label(s) pending for retry
When I view the errors, I see this:
OH-SCM-009: Error occurred while sync. TF14045: The identity XYZ, Bruce (USHQ) is not a recognized identity.
Bruce is one of the users I mapped. I went back in to update the migration to see what I can do.
I tried removing the "XYZ, Bruce (USHQ) -- XYZ, Bruce (USHQ)" mapping and re-adding it and then retrying. Same error.
I then tried removing the mapping and mapping to anonymous. It seemed to accept this, but got the same error on retry. I noticed then that the mapping was back to "XYZ, Bruce (USHQ) -- XYZ, Bruce (USHQ)" and I can't seem to make it anonymous. This is true for any users that appear in both lists (TFS Users and VSO users).
Other users are mapping correctly from what I can tell.
My best case would be to correctly map this user. Next would be to map it to anonymous.
Any advice would be appreciated.
Below is the error in the log:
2015-06-09 07:51:56,022 [3] ERROR Error occured in thread of CheckinAll:TF14045: The identity XYZ, Bruce (USHQ) is not a recognized identity.
at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.HandleReply(TfsClientOperation operation, TfsMessage message, Object[]& outputs)
at Microsoft.TeamFoundation.VersionControl.Client.Repository5.CheckIn(String workspaceName, String ownerName, String[] serverItems, Changeset info, CheckinNotificationInfo checkinNotificationInfo, Int32 checkinOptions, Failure[]& conflicts, Failure[]& failures, Boolean deferCheckIn, Int32 checkInTicket, Int32 maxClientPathLength)
at Microsoft.TeamFoundation.VersionControl.Client.WebServiceLayerLocalWorkspaces.CheckIn(String workspaceName, String ownerName, String[] serverItems, Changeset info, CheckinNotificationInfo checkinNotificationInfo, Int32 checkinOptions, UploadedBaselinesCollection uploadedBaselinesCollection, Failure[]& conflicts, Failure[]& failures, Boolean deferCheckIn, Int32 checkInTicket)
at Microsoft.TeamFoundation.VersionControl.Client.Workspace.PagedCheckin(IEnumerable`1 changes, Boolean changesIsAllPendingChanges, Changeset changeset, CheckinNotificationInfo checkinNotificationInfo, CheckInOptions2 checkinOptions, UploadedBaselinesCollection uploadedBaselinesCollection, Failure[]& conflictsArray, Failure[]& failuresArray)
at Microsoft.TeamFoundation.VersionControl.Client.Workspace.CheckInInternal(WorkspaceCheckInParameters parameters, Int32 operationId)
at Microsoft.TeamFoundation.VersionControl.Client.Workspace.CheckIn(WorkspaceCheckInParameters checkinParameters)
at Service.Adapters.TFSCheckinWorkspaceContext.checkin(String comment, WorkItemCheckinInfo[] workItemChanges, List`1 otherCheckInProperties, String checkinUser) in e:\5.7Checkout\VSMUOpsHubV2\TFSWCFServiceSource\Service\Service\TFSVersionControl\AdapterComponents\TFSCheckinWorkspaceContext.cs:line 2579
at Service.Adapters.TFSVCAdapter.checkIn(List`1 checkinItems, String checkinComment, String checkinUser, List`1 workitemId, List`1 otherCheckInProperties) in e:\5.7Checkout\VSMUOpsHubV2\TFSWCFServiceSource\Service\Service\TFSVersionControl\AdapterComponents\TFSVCAdapter.cs:line 125
at com.opshub.tfs.test.TFSWebService.<>c__DisplayClass2.<CheckInAll>b__0() in e:\5.7Checkout\VSMUOpsHubV2\TFSWCFServiceSource\Service\Service\TFSWebService.cs:line 760
2015-06-09 07:51:56,024 [3] ERROR Error : TF14045: The identity XYZ, Bruce (USHQ) is not a recognized identity.

Visual Studio Online Migration Utility fails with TF400023

Update OpsHub has published an update to their utility that fixes the problem I encountered.
I am trying to migrate an on-premises Team Foundation Server 2010 to Visual Studio online using the OpsHub Visual Studio Online migration utility. It has successfully uploaded 1380 of 6585 change sets, but is stuck on one of them and will not continue. The error message for the problematic change set:
Changeset ID: 1417
OH-SCM-009: Error occurred while sync. TF400023: The local workspace could not be reconciled with the server.
If I open the TFS workspace in Visual Studio (by browsing to O:\w69_1), I get a very similar error message in a popup window:
Error
TF400023: The local workspace could not be reconciled with the server.
The Visual Studio Source Control console displays a dozen repetitions of the following error message:
TF14060: The item $/EDT/SingleProjectClient/Data cannot be deleted. One or more children have pending changes.
Browsing through the pending changes in the workspace, it is clear that $/EDT/SingleProjectClient/Data/AllProjects.sdf has a pending "merge, delete" change.
The "merge, delete" change was present in the original change set made on the on-premises team foundation server. The problematic changeset ID 1417 contains the following changes:
$/EDT/SingleProjectClient/Data: delete
$/EDT/SingleProjectClient/Data/AllProjects.sdf: merge, delete
I have tried to undo the pending change on $/EDT/SingleProjectClient/Data/AllProjects.sdf, but that doesn't help. The migration utility continues to issue the same error message (TF400023: the local workspace could not be reconciled with the server).
Stack trace from OpsHubTFSService.log
2015-02-06 12:16:47,834 [5] ERROR Error occured in thread of CheckinAll:TF400023: The local workspace could not be reconciled with the server.
at Microsoft.TeamFoundation.VersionControl.Client.LocalDataAccessLayer.<>c__DisplayClass23.b__1c(LocalWorkspaceProperties
wp, WorkspaceVersionTable lv, LocalPendingChangesTable pc)
at Microsoft.TeamFoundation.VersionControl.Client.LocalWorkspaceTransaction.Execute(AllTablesTransaction toExecute)
at Microsoft.TeamFoundation.VersionControl.Client.LocalDataAccessLayer.ReconcileLocalWorkspace(Workspace workspace, WebServiceLayer webServiceLayer, Boolean unscannedReconcile, Boolean reconcileMissingFromDisk, Failure[]& failures, Boolean& pendingChangesUpdatedByServer)
at Microsoft.TeamFoundation.VersionControl.Client.WebServiceLayerLocalWorkspaces.ReconcileIfLocal(String workspaceName, String ownerName, Boolean unscannedReconcile, Boolean reconcileMissingLocalItems, Boolean skipIfAccessDenied, Boolean& reconciled)
at Microsoft.TeamFoundation.VersionControl.Client.WebServiceLayerLocalWorkspaces.CheckPendingChanges(String workspaceName, String ownerName, String[] serverItems)
at Microsoft.TeamFoundation.VersionControl.Client.Workspace.EvaluateCheckin2(CheckinEvaluationOptions options, IEnumerable&grave;1 allChanges, IEnumerable`1 changes, String comment, CheckinNote checkinNote, WorkItemCheckinInfo[] workItemChanges)
at Service.Adapters.TFSCheckinWorkspaceContext.EvaluateCheckIn(List`1 changesToCommit, String comment, CheckinNote checkinNote, WorkItemCheckinInfo[] workItemChanges) in f:\Ashish Docs\Checkouts\OVSMU Branch\OpsHubV2\TFSWCFServiceSource\Service\Service\TFSVersionControl\AdapterComponents\TFSCheckinWorkspaceContext.cs:line 2392
at Service.Adapters.TFSCheckinWorkspaceContext.checkin(String comment, WorkItemCheckinInfo[] workItemChanges, List&grave;1 otherCheckInProperties, String checkinUser) in f:\Ashish Docs\Checkouts\OVSMU Branch\OpsHubV2\TFSWCFServiceSource\Service\Service\TFSVersionControl\AdapterComponents\TFSCheckinWorkspaceContext.cs:line 2344
at Service.Adapters.TFSVCAdapter.checkIn(List&grave;1 checkinItems, String checkinComment, String checkinUser, List&grave;1 workitemId, List`1 otherCheckInProperties) in f:\Ashish Docs\Checkouts\OVSMU Branch\OpsHubV2\TFSWCFServiceSource\Service\Service\TFSVersionControl\AdapterComponents\TFSVCAdapter.cs:line 123
at com.opshub.tfs.test.TFSWebService.<>c__DisplayClass2.b__0() in f:\Ashish Docs\Checkouts\OVSMU Branch\OpsHubV2\TFSWCFServiceSource\Service\Service\TFSWebService.cs:line 692
If your server was ever TFS 2005/8 you can be in the situation that a past merge delete never completed.
In 2005/2008 if you had both updates and deleted in a single operation you had to do two checkins to complete the merge. However the UI to tell you that was only introduced in 2008 SP1 (AFAIR).
I have run into this issue all the time with Timely Migration and TFS Integration Tools. And as the merge was never completed your code bow relies (or possibly does) on the current setup. In the aforementioned tools I would edit the incoming migration data to remove knowledge of the pend-deleted and allow the tool to proceed.
The OpsHub tool is not good with corner cases and you may need OpsHub to show you how to resolve with their tool.

CSPack RemotingException while packaging Cloud service project with MSBuild

I have a powershell script that is packaging our builds and deploys them to Azure Cloud Services. This script was running without any problem with SDK 2.3, but when we upgraded to SDK 2.5 we started receiving the following error while building the project:
CorePublish:
CorePublish: PackageWebRole = True
Publishing starting...
RolePlugins is
Importedmodules is
Publishing to 'bin\Release\app.publish\'
Creating directory "bin\Release\app.publish\".
TargetServiceDefinition is bin\Release\ServiceDefinition.csdef
TargetServiceConfiguration is bin\Release\ServiceConfiguration.cscfg
Roles is E:\Preview\temp\Azure\obj\Release\App\
error MSB4018: The "CSPack" task failed unexpectedly.
System.Runtime.Remoting.RemotingException: Object '/54628d54_42c6_4d39_bc4c_958b6bfaeb90/6y8efa6v6y8omskqeetyix8g_4.rem' has been disconnected or does not exist at the server.
at System.IO.FileStream.get_CanRead()
at MS.Internal.IO.Zip.ZipIOLocalFileBlock.CheckFileAccessParameter(Stream stream, FileAccess access)
at MS.Internal.IO.Zip.ZipIOLocalFileBlock.GetStream(FileMode mode, FileAccess access)
at System.IO.Packaging.ZipPackagePart.GetStreamCore(FileMode mode, FileAccess access)
at System.IO.Packaging.PackagePart.GetStream(FileMode mode, FileAccess access)
at Microsoft.ServiceHosting.Tools.Packaging.Utils.CopyFullStreamToPart(Stream source, PackagePart part, PackageManifest manifest)
at Microsoft.ServiceHosting.Tools.Packaging.PackageCreator.CreateRolePackages(ModelProcessor modelProcessor, PackageManifest applicationManifest, Package applicationPackage)
at Microsoft.ServiceHosting.Tools.Packaging.PackageCreator.CreatePackage(Stream outputStream, Action`1 postProcess, PackageRestrictions restrictions)
at Microsoft.ServiceHosting.Tools.Packaging.ServiceApplicationPackage.CreateServiceApplicationPackage(String serviceModelFileName, String serviceDescriptionFile, Stream output, IPackageSecurity encrypt, Dictionary`2 namedStreamCollection, String userInfo, EventHandler`1 rolePackagePartAddedHandler)
at Microsoft.ServiceHosting.Tools.MSBuildTasks.PackageCreator.CreateServiceApplicationPackage(String serviceRdFilePath, String processedServiceDefinitionFile, FileStream packageStream, Dictionary`2 namedStreams, Dictionary`2 rolesDictionary)
at Microsoft.ServiceHosting.Tools.MSBuildTasks.PackageCreator.CreateServiceApplicationPackage(String serviceRdFilePath, String processedServiceDefinitionFile, FileStream packageStream, Dictionary`2 namedStreams, Dictionary`2 rolesDictionary)
at Microsoft.ServiceHosting.Tools.MSBuildTasks.CSPack.TryCreatePackage(ServiceDefinitionModel sm)
at Microsoft.ServiceHosting.Tools.MSBuildTasks.CSPack.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()
It is running on Windows Server 2008 R2, using MSBuild from VS2013 and the MSBuild is runnin like this parameters (from powershell):
& $msBuildPath "$tempPath\Azure\Azure.ccproj" /p:TargetProfile=Cloud /p:Configuration=Release /target:publish /flp:"Verbosity=quiet;logfile=E:\AzurePreview\msbuild.log"
I could not find anything connected to this issue.
I even tried to remove all traces of VS, SDKs and tools that might be connected to powershell, VS or Azure in general and installed the necessary parts again rebut nothing helped.
Could you please help me resolve this issue?
After discussing this issue with Microsoft support, I was able to package the project using CSPack command line tool, so I'm using this as a workaround.
Edit:
This issue seems fixed in Azure SDK 2.7

Mongodb worker role throws System.IO.FileNotFoundException

I have an Azure cloud project which makes use of mongodb worker roles. When running in the local emulator everything works fine, however when I deploy to an Azure staging area, the mongodb worker roles are stuck cycling and show a System.IO.FileNotFoundException. I connected to one of the virtual machines remotely and looked at the event viewer and found the following error:
An unhandled exception occurred. Type: System.IO.FileNotFoundException
Process ID: 1936 Process Name: WaWorkerHost Thread ID: 4 AppDomain
Unhandled Exception for role MongoDB.WindowsAzure.MongoDBRole_IN_0
Exception: Could not load file or assembly 'mswacdmi, Version=1.7.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its
dependencies. The system cannot find the file specified. at
Microsoft.WindowsAzure.StorageClient.CloudDrive..ctor(Uri uri,
StorageCredentials credentials) at
Microsoft.WindowsAzure.StorageClient.CloudStorageAccountCloudDriveExtensions.CreateCloudDrive(CloudStorageAccount
storageAccount, String pageBlobUri) at
MongoDB.WindowsAzure.MongoDBRole.Utilities.GetMountedPathFromBlob(String
localCachePath, String cloudDir, String containerName, String
blobName, Int32 driveSize, CloudDrive& mongoDrive) in
c:\Users\Matt\Software\AzurePrototype1\mongo-azure-master\src\MongoDB.WindowsAzure.MongoDBRole\Utilities.cs:line
78 at
MongoDB.WindowsAzure.MongoDBRole.MongoDBRole.GetMongoDataDirectory()
in c:\Users\Matt\Software\AzurePrototype1\mongo-azure-master\src\MongoDB.WindowsAzure.MongoDBRole\MongoDBRole.cs:line 255 at MongoDB.WindowsAzure.MongoDBRole.MongoDBRole.StartMongoD()
in c:\Users\Matt\Software\AzurePrototype1\mongo-azure-master\src\MongoDB.WindowsAzure.MongoDBRole\MongoDBRole.cs:line 201 at MongoDB.WindowsAzure.MongoDBRole.MongoDBRole.OnStart() in
c:\Users\Matt\Software\AzurePrototype1\mongo-azure-master\src\MongoDB.WindowsAzure.MongoDBRole\MongoDBRole.cs:line 91 at
Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeRoleInternal(RoleType
roleTypeEnum) at
Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.b__0()
at System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state, Boolean
ignoreSyncCtx) at
System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state) at
System.Threading.ThreadHelper.ThreadStart()
Why does this work locally and not on Azure? I don't understand much about assemblies and such, but I am learning as I go along. One of the things suggested online is to check the properties of references assemblies and set 'Copy Local' to true, I have tried this but still the same error.
In your worker role project, Make sure you have a .NET reference to mswacdmi.dll with the Properties set Copy Local=true. When you publish - RDP to your Azure role instance to verify that your deployed role has the assembly in the /bin directory.
Also make sure you are targeting x64 - I found mswacdmi.dll at this path (Azure SDK 1.8):
C:\Program Files\Microsoft SDKs\Windows Azure.NET SDK\2012-10\bin\runtimes\storage\cloud\x64

Crystal report 9.2, incorrect log on parameters

Background;
The Web application is developed for .Net framework 4.0. It has crystal report 9.2 integration. Application runs on Integrated Windows Authentication. The crystal reports are working fine when we execute, from solution running under Visual Studio 2010. When the same report are deployed to server (Web Server- OS: Windows Server 2003-SP2-32bit. DB Server- OS: Windows Server 2003-32bit) following error occurs, incorrect log on parameters. Crystal Report Runtime Engine for .net framework 4.0 has been installed in web server. Reports are configured to work on ODBC, System DSN with SQL Server driver. This drivers runs on SQL Server user account which has permission on database. There are no logon parameters passed from application. Just to verify, solution of passing the logon parameters from application is also tried, but the problem is not resolved.
Note: To resolve full access has been provided to IIS_WPG account on folder: C:\Windows\Temp, C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files and web application.
Server Error in '/XXXX' Application.
________________________________________
Error in File E:\WebApps\XXXX\Reports\CompanyStandard.rpt:
Unable to connect: incorrect log on parameters.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: CrystalDecisions.CrystalReports.Engine.LogOnException: Error in File E:\WebApps\XXXX\Reports\CompanyStandard.rpt:
Unable to connect: incorrect log on parameters.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[LogOnException: Error in File E:\WebApps\XXXX\Reports\CompanyStandard.rpt:
Unable to connect: incorrect log on parameters.]
. N(String -, EngineExceptionErrorID 0) +582
. I(Int16 !, Int32 ") +277
CrystalDecisions.CrystalReports.Engine.FormatEngine.GetPage(PageRequestContext reqContext) +429
CrystalDecisions.ReportSource.LocalReportSourceBase.GetPage(PageRequestContext pageReqContext) +172
CrystalDecisions.Web.ReportAgent.|(Boolean Z) +223
CrystalDecisions.Web.CrystalReportViewer.OnPreRender(EventArgs e) +165
System.Web.UI.Control.PreRenderRecursiveInternal() +103
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496
You need to change the profile IIS is running under to a domain account or change your web.config file to impersonate the user. Otherwise you will need to apply logoninfo for the report.