Can not delete Managed Solution for Dynamics 2015 (v7.0) - dynamics-crm

I need help for a problem related to customization for Dynamics CRM 2015 (version 7.0.1.129). I can`t delete Managed Solution for Dynamics 2015 (v7.0)
But before that, I want to provide you technical data on how my system is shaped.
I have two available developer environments for Exporting Solutions for our clients.
The First environment is for exporting Unmanaged and managed packages for 6.1. which works and for Dynamics 365 (v8.2)
And the second environment where we do export just a managed v7.0.
The issue is only 7.0 related. The version exported from 6.1 works fine on 6 to 8.2 - excluding 7.0. Hence we need to do special export for 7.0 from 7.0 environment.
When we import Managed 7.0 on Dynamics CRM 2013 (7.0.1.129)(DB 7.0.1.129) and then try to delete the Solution we get an error that prevents to delete it.
The error is related to the Ribbon WorkBench. Note we do manually edit the export solution to add, display or hide our buttons from Dynamics and Outlook (and this works for v6-8 excluding 7)
I tried several options:
To downgrade to the previous working version of the Solution (excluding the ribbon changes)
change the XML file and try again. ( works if I delete all additional buttons and Display rules connected to them).
Enter into "Settings --> Customizations --> Customize the System --> Processes and Deactivate and Delete our processes.
Our only Option at the moment is to restore data from the backUp and continue with researching the problem.
The Error message says that the Ribbon component has more than 20 dependencies within the same solution
Here is a sample error:
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=7.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35]]: The RibbonCommand(account:concep.account.OpenSendAccounts) component cannot be deleted because it is referenced by 20 other components. F
or a list of referenced components, use the RetrieveDependenciesForDeleteRequest.Detail:
<OrganizationServiceFault xmlns:i="www.w3.org/.../XMLSchema-instance" xmlns="schemas.microsoft.com/.../Contracts">
<ErrorCode>-2147160033</ErrorCode>
<ErrorDetails xmlns:d2p1="schemas.datacontract.org/.../System.Collections.Generic">
<KeyValuePairOfstringanyType>
<d2p1:key>0</d2p1:key>
<d2p1:value xmlns:d4p1="www.w3.org/.../XMLSchema" i:type="d4p1:string">RibbonCommand</d2p1:value>
</KeyValuePairOfstringanyType>
<KeyValuePairOfstringanyType>
<d2p1:key>1</d2p1:key>
<d2p1:value xmlns:d4p1="www.w3.org/.../XMLSchema" i:type="d4p1:string">account:concep.account.OpenSendAccounts</d2p1:value>
</KeyValuePairOfstringanyType>
<KeyValuePairOfstringanyType>
<d2p1:key>2</d2p1:key>
<d2p1:value xmlns:d4p1="www.w3.org/.../XMLSchema" i:type="d4p1:string">20</d2p1:value>
</KeyValuePairOfstringanyType>
<KeyValuePairOfstringanyType>
<d2p1:key>3</d2p1:key>
<d2p1:value xmlns:d4p1="www.w3.org/.../XMLSchema" i:type="d4p1:string">Solution</d2p1:value>
</KeyValuePairOfstringanyType>
<KeyValuePairOfstringanyType>
<d2p1:key>4</d2p1:key>
<d2p1:value xmlns:d4p1="www.w3.org/.../XMLSchema" i:type="d4p1:string"><a id='a_helplink' tabindex='0' class='ms-crm-Dialog-Error-Link' onclick='openStdWin("\x2fDEV-CRM13\x2ftools\x2fdependency\x2fdependencyviewdialog.aspx\x3fobjectid\x3d\x257baff99d13-2b5e-4674-ada8-166897911fd5\x257d\x26objecttype\x3d7100\x26operationtype\x3ddependenciesforuninstall", null, 800, 600, null)'>Details</a></d2p1:value>
</KeyValuePairOfstringanyType>
</ErrorDetails>
<Message>The RibbonCommand(account:concep.account.OpenSendAccounts) component cannot be deleted because it is referenced by 20 other components. For a list of referenced components, use the RetrieveDependenciesForDeleteRequest.</Message>
<Timestamp>2017-05-04T07:49:45.6747279Z</Timestamp>
<InnerFault i:nil="true" />
<TraceText i:nil="true" />
</OrganizationServiceFault>

Related

Xamarin Studio - can not login - One of the identified items was in an invalid format

As part of my Microsoft Action Visual Studio eligibility for using/developing in Xamarin I'm trying to login in Xamarin Studio (Mac). I still have Xamarin Studio on my Mac (until recently I had an Indie subscription). Now when trying to login I get the error message(s) below.
Anyone an idea how to avoid this error?
Thanks.
System.FormatException: One of the identified items was in an invalid format.
at Xamarin.Components.Ide.Activation.ActivationService.GetErrorWorkflow (Xamarin.Components.Ide.Activation.LicenseSyncResult[] results, Boolean ignoreSyncErrors) [0x00264] in /Users/builder/data/lanes/2968/8dc6bca6/source/md-addins/Xamarin.Ide/Xamarin.Components.Ide/Activation/ActivationService.cs:762
at Xamarin.Components.Ide.Activation.ActivationService+<GenerateFullWorkflowSequence>c__Iterator3.MoveNext () [0x00410] in /Users/builder/data/lanes/2968/8dc6bca6/source/md-addins/Xamarin.Ide/Xamarin.Components.Ide/Activation/ActivationService.cs:654
at Xamarin.Components.Ide.Activation.ActivationDialog.DisplayWorkflowStep (Xamarin.Components.Ide.Activation.ActivationWorkflowStep step) [0x0002c] in /Users/builder/data/lanes/2968/8dc6bca6/source/md-addins/Xamarin.Ide/Xamarin.Components.Ide/Activation/ActivationDialog.cs:463
at Xamarin.Components.Ide.Activation.ActivationDialog+<StartSpinnerTaskAndScheduleContinuation>c__AnonStorey4.<>m__0 (System.Threading.Tasks.Task t) [0x0005b] in /Users/builder/data/lanes/2968/8dc6bca6/source/md-addins/Xamarin.Ide/Xamarin.Components.Ide/Activation/ActivationDialog.cs:561
Guys from Xamarin Support already post an answer to this
http://forums.xamarin.com/discussion/63675/activation-error/p1
In general you should
Update to the "Cycle 6 – Service Release 3" versions or newer.
The minimum version of Xamarin Studio that supports MSDN licenses is here: http://download.xamarin.com/studio/Mac/XamarinStudio-5.10.3.51-0.dmg
Log out and log back into your Xamarin account following the "Quick manual refresh steps" on https://kb.xamarin.com/customer/en/portal/articles/1641743-how-do-i-manually-resynchronize-xamarin-licenses-.
Update Xamarin to the latest stable version. That worked for me.
My mistake was in grid I had added ** instead of *,
ie:
<RowDefinition Height="**" />
instead of
<RowDefinition Height="*" />
Check if same applies to you

The "XamlCTask" task failed unexpectedly on visual studio for xamarin

When I am trying to run application on Xamarin on visual studio, I am getting error as mentioned below and not able to run the application on device or emulator:
The "XamlCTask" task failed unexpectedly.
Microsoft.Cci.Pdb.PdbDebugException: Unknown custom metadata item kind: 6
at Microsoft.Cci.Pdb.PdbFunction.ReadCustomMetadata(BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction..ctor(ManProcSym proc, BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction.LoadManagedFunctions(BitAccess bits, UInt32 limit, Boolean readStrings)
at Microsoft.Cci.Pdb.PdbFile.LoadFuncsFromDbiModule(BitAccess bits, DbiModuleInfo info, IntHashTable names, ArrayList funcList, Boolean readStrings, MsfDirectory dir, Dictionary`2 nameIndex, PdbReader reader)
at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, Dictionary`2& tokenToSourceMapping, String& sourceServerData)
at Mono.Cecil.Pdb.PdbReader.PopulateFunctions()
at Mono.Cecil.Pdb.PdbReader.ProcessDebugHeader(ImageDebugDirectory directory, Byte[] header)
at Mono.Cecil.ModuleDefinition.ProcessDebugHeader()
at Mono.Cecil.ModuleDefinition.ReadSymbols(ISymbolReader reader)
at Mono.Cecil.ModuleReader.ReadSymbols(ModuleDefinition module, ReaderParameters parameters)
at Mono.Cecil.ModuleReader.CreateModuleFrom(Image image, ReaderParameters parameters)
at Mono.Cecil.ModuleDefinition.ReadModule(Stream stream, ReaderParameters parameters)
at Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters parameters)
at Xamarin.Forms.Build.Tasks.XamlCTask.Compile()
at Xamarin.Forms.Build.Tasks.XamlCTask.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__1.MoveNext() MyFirstProject
Before adding this "Xamarin.Forms.Maps" NuGet package, my application working but as I have added this suddenly application stops running and getting error.
Anybody could help me what causes this type of issue?
This issue arise, if your Xamarin.Form version is not compatible/matching with your NuGet package which you have installed.
So, I have just updated Xamarin.Forms for both xx.Droid and PCL and make the match the dependencies with NuGet package.
Now it is working fine. Hope so this will work for you.
Delete your old package /[your project root]/packages/Xamarin.Forms.[old version number].
This kind of issue may also come if by mistake you have any syntactical error like in my case: two text cells were present in the ListView -
<ListView x:Name="ProductsView">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding ProductId}" />
<TextCell Text="{Binding ProductDescription}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
I went through other posts for this issue and found the same issue occurred due to the presence of syntactical errors, which VS doesn't report directly. So look for this, otherwise, reinstall the compatible version of xamarin.forms -> clean solutions -> rebuild by reopening VS.
I removed all Xamarin references from ALL projects, removed ALL Xamaring packages. Deleted all mention of Xamarin in PROJ files and readded all nuget packages for Xamarin. (lost days on this) :)
Updating Xamarin.Forms to the latest version on both android and iOS project and reopened the project worked for me.
I am getting this error with Xamarin.Mac in Visual Studio for Mac. I unloded the Xamarin.Mac Project. Than remove it from solution. Finally delete the xamarin.Mac folder from the solution folder. Atlast deleted the packages folder from the solution folder. Remove all nuget packages from xamarin forms project.
Now I again add the nuget packages to xamarin forms project. Added Xamarin.Mac project to the solution and make necessary modifications. This results in a successful build. Though my problem was with xamarin.mac this process may solve problem with other projects also.
When We Add ContentPage Page in Xamarin.Forms. and in that page we add more then one ContentPage.Content in same page. Then also we get this type of the error.
If you have XML errors in your XAML files, this may happen too. Example:
<Label Text="<- go back" />
(You cannot use the character < there, use < instead.)
Or two attributes with the same name:
<Label Text="someText" HorizontalOptions="Center" Text="someText" />

Switch from VB to C# in Workflow Designer

I'm creating an Activity Library in Visual Studio 11 Beta (although I've repeated all my steps in VS2010 with the same result), targeting the .NET 4.0 framework.
As I started entering arguments via the Workflow Designer, I noticed the "Enter a VB Expression" message in the Default Value box. I'm not sure how to change the language context from VB to C#.
To create the project, I followed these steps:
Go to File> New and select Project...
In the Installed> Templates section of the New Project dialog window, select Visual C#> Workflow> Activity Library
Name the project, as usual, and click OK
And that's basically it. I noticed then that the default Activity1.xaml file was expecting VB in the default values fields. I deleted it and then followed these steps to create a new Activity:
Right-click on the project and select Add> New Item...
In the Add New Item dialog window, navigate to Installed> Visual C# Items> Workflow> Activity
Name the Activity and click OK
It was the same result, the Default Value fields are expecting a VB expression.
When I look at the XAML code, I can clearly see the Microsoft.VisualBasic.Activities namespace listed and a VisualBasic.Settings element, but I'm not sure what to do to change it; everytime I try, I just end up screwing things up. Here's the XAML code being generated:
<Activity mc:Ignorable="sads sap" x:Class="THINKImport.CustomerAddOrderAdd"
xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities"
xmlns:local="clr-namespace:THINKImport.THINKWebReference"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities"
xmlns:s="clr-namespace:System;assembly=System.Core"
xmlns:s1="clr-namespace:System;assembly=System"
xmlns:s2="clr-namespace:System;assembly=System.ServiceModel"
xmlns:s3="clr-namespace:System;assembly=mscorlib"
xmlns:sads="http://schemas.microsoft.com/netfx/2010/xaml/activities/debugger"
xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation"
xmlns:t="clr-namespace:THINKImport"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<x:Members>
<x:Property Name="user_login_data" Type="InArgument(local:user_login_data)" />
<!--Removed the other properties for brevity-->
</x:Members>
<sap:VirtualizedContainerService.HintSize>440,440</sap:VirtualizedContainerService.HintSize>
<mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings>
</Activity>
I was able to figure out the issue.
First, though, I was able to discover the root cause here. In a nutshell, it says VB.NET must be used in the Expression Editor even if the program is in C#.
So, I was kinda bummed about that, but I decided to take another crack at the XAML code because, in working through the WF tutorials, there was most definitely an activity I was working on in the designer that would accept Expressions in C#. I opened up that project and went through the XAML code.
It's then that I noticed this line:
<sap2010:ExpressionActivityEditor.ExpressionActivityEditor>C#</sap2010:ExpressionActivityEditor.ExpressionActivityEditor>
I searched the MSDN library and found the documentation for the ExpressionActivityEditor class. As best as I can tell, this is new to .NET 4.5. In my particular case, there isn't any reason I can't target .NET 4.5 in my project, so I changed it. Once the solution reopened, right away, all the Expression Editor text fields and boxes would accept C#. In order to "start fresh", I deleted the activity file I had been working on and created a new one. If anyone's interested, here's that generated XAML code:
<Activity mc:Ignorable="sap sap2010 sads" x:Class="THINKImport.CustomerAddOrderAdd"
xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sads="http://schemas.microsoft.com/netfx/2010/xaml/activities/debugger"
xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation"
xmlns:sap2010="http://schemas.microsoft.com/netfx/2010/xaml/activities/presentation"
xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:THINKWebReference="clr-namespace:THINKImport.THINKWebReference">
<x:Members>
<x:Property Name="user_login_data" Type="InArgument(THINKWebReference:user_login_data)">
<x:Property.Attributes>
<RequiredArgumentAttribute />
</x:Property.Attributes>
</x:Property>
<x:Property Name="customer_data" Type="InArgument(THINKWebReference:customer_data)" />
<!--Remainder of Properties removed for brevity-->
</x:Members>
<sap2010:ExpressionActivityEditor.ExpressionActivityEditor>C#</sap2010:ExpressionActivityEditor.ExpressionActivityEditor>
<TextExpression.NamespacesForImplementation>
<sco:Collection x:TypeArguments="x:String">
<x:String>System</x:String>
<x:String>System.Collections.Generic</x:String>
<x:String>System.Data</x:String>
<x:String>System.Linq</x:String>
<x:String>System.Text</x:String>
</sco:Collection>
</TextExpression.NamespacesForImplementation>
<TextExpression.ReferencesForImplementation>
<sco:Collection x:TypeArguments="AssemblyReference">
<AssemblyReference>mscorlib</AssemblyReference>
<AssemblyReference>System</AssemblyReference>
<AssemblyReference>System.Core</AssemblyReference>
<AssemblyReference>System.Data</AssemblyReference>
<AssemblyReference>System.ServiceModel</AssemblyReference>
<AssemblyReference>System.Xml</AssemblyReference>
</sco:Collection>
</TextExpression.ReferencesForImplementation>
<sap2010:WorkflowViewState.IdRef>
THINKImport.CustomerAddOrderAdd_1
</sap2010:WorkflowViewState.IdRef>
<sap2010:WorkflowViewState.ViewStateManager>
<sap2010:ViewStateManager>
<sap2010:ViewStateData Id="THINKImport.CustomerAddOrderAdd_1" sap:VirtualizedContainerService.HintSize="440,440" />
</sap2010:ViewStateManager>
</sap2010:WorkflowViewState.ViewStateManager>
</Activity>
So, quite a bit different (to me, anyways) but I can use C# now, so I'm happy.
C# Expressions
Previously, all expressions in workflows can only be written in Visual
Basic. In .NET Framework 4.5 RC, Visual Basic expressions are only
used for projects created using Visual Basic. Visual C# projects now
use C# for expressions. A fully functional C# expression editor is
provided which capabilities such as grammar highlighting and
intellisense. C# workflow projects created in previous versions that
use Visual Basic expressions will continue to work.
As of Beta 1, C# expressions are validated at design-time. Errors in
C# expressions will be marked with a red wavy underline.
More: What's New in Windows Workflow Foundation in .NET 4.5

WiX installer - Update scenario Custom UI

For my application I have an .msi developed with WiX. For the update scenario I want to do the following:
if the installed version is never than the update version display an error
if the installed version is older than the update version show a button with text Update
if the installed version is the same as the update version show a button with text Repair
I have found how to define custom UI dialogs, but if I create a dialog with all these controls (Error label, Update/Repair buttons) how can I display just the appropriate one according to the situation.
Use the Upgrade property.
Assuming
<Product Version="1.0.0.0" />
and
<Upgrade Id="GUID">
<UpgradeVersion OnlyDetect="no" Property="OLDERFOUND" Maximum="1.0.0.0" IncludeMaximum="no" />
<UpgradeVersion OnlyDetect='yes' Property='NEWERFOUND' Minimum="1.0.0.0" IncludeMinimum='no' />
<UpgradeVersion OnlyDetect='yes' Property='SAMEFOUND' Minimum="1.0.0.0" Maximum='1.0.0.0' />
</Upgrade>
The first upgradeversion finds all versions upto the current one
the second line finds all versions above the current one
the third line finds installed versions the same as the current one
Then use a custom action like so
<CustomAction Id='NewerFound' Error='A later version of [ProductName] is already installed' />
<InstallExecuteSequence>
<Custom Action='NewerFound' After='FindRelatedProducts'>NEWERFOUND</Custom>
<RemoveExistingProducts After="InstallInitialize" />
</InstallExecuteSequence>
etc
The custom actions shown either removes the older version automatically or it warns the user that a newer version is already installed, but if you want to prompt the user then you can show your custom UI instead of running the CAs.
Personally I just use the first two upgradeversion lines. This does the automatic upgrade if an older one is found, shows the user an error if there is a newer one and, if the same one is installed it shows the user an error ( it does that by default it doesnt require the third line), however this doesnt give you the UI like you want, so as I said above try replacing these CAs with your UI.

How do I create a custom dialog in WiX for user input?

I'm using WiX to create an installer for a windows service. It's desirable that the name of service that gets installed and displayed in Services is configurable at install time.
For example, this is what I'm thinking (wix xml snip):
<ServiceInstall
Id="MyServiceInstaller"
Name="NAME_PASSED_FROM_DIALOG"
Type="ownProcess"
Start="auto"
ErrorControl="normal"
Description="My Service"
Account="localsystem"/>
<ServiceControl
Id="StartMyServiceInstaller"
Name="NAME_PASSED_FROM_DIALOG"
Start="install"
Wait="no" />
<ServiceControl
Id="StopMyServiceInstaller"
Name="NAME_PASSED_FROM_DIALOG"
Remove="uninstall"
Stop="both"
Wait="yes" />
NAME_PASSED_FROM_DIALOG is something I would like to hook up to a custom dialog that gets created and gets displayed to the person installing the service so they can set/modify the service name. I think this is very similar to the WIXUI_INSTALLDIR property that gets set and passed to the WixUI_InstallDir Dialog Set.
My question is:
How do I create a custom UI dialog that can accept user input which gets passed into runtime of the installer?
Have fun with UI!
Edit: The original link to answer doesn't exist anymore. FireGiant (the maintainers of Wix) some examples for part of this process, but it's doesn't completely answer this question. There is one further tutorial (UPDATE Aug.2018: Link resurrected from Wayback Machine) that does go most of the way to answer this question.
A high level overview of what will be happening is:
Create a property
Have the UI control set this property
The name attribute on the service will reference the property, ie [ServiceNameProperty].
However this is complex, and the way that is suggested to create a new UI dialog, is to take an existing dialog, make a clone of it, and then edit with new text, controls and use it to populate the property.
Try to use
WixEdit
that is nice tool for creating UI

Resources