Modern Ribbon look (like in Office 2016) - windows-ribbon-framework

Couple years ago I've decided to use MS Ribbon for my application.
At that time there was a choice: to use MFC Ribbon, use Windows Ribbon, or use 3rd party library.
MFC Ribbon look already was outdated (like MS Office 2007 look-and-feel).
3rd party is not an option for me.
I started to implement my app with WTL.
Right now I am using WTL 9.1 and VS 2015.
Recently I compared my app with MS Office 2016, it seems that its look became outdated.
Ribbon's XML definition starts from:
<?xml version="1.0" encoding="utf-8"?>
<Application xmlns="http://schemas.microsoft.com/windows/2009/Ribbon">
<Application.Commands>
<Command Name="cmdAppMenu" Symbol="RID_RIBBON_APP_MENU" />
...
I assume that this maybe a problem (year 2009).
But I failed to find another xmlns path =(
Is it possible somehow to make ribbon in my App looks the same as in MS Office 2016?

No, this isn't possible using WTL, which is using the Windows Ribbon Framework. The Windows Ribbon Framework is API-wise something completely different than the Office ribbons. Both technologies were developed independently at Microsoft. While they share the same UI concepts, the implementation is completely different. Therefore, you won't be able to instruct your Windows Ribbon Framework based application to use the "Office style".
You will have to stick to a 3rd party library or develop a UI that looks like the Office 2016 ribbons on your own.

Related

I am trying to develop an Add-In for Microsoft Word on macOS. I am not familiar with Microsoft doc, could somebody bring me in the right direction?

I am trying to develop an Add-In for Microsoft Word on macOS. The Windows version of the Add-In is already in development, but I don't have access to its source code. It seems like the following is the 'landing' page for developing Add-Ins for Office:
https://learn.microsoft.com/en-us/office/dev/add-ins/
The above documentation seems to say that Add-Ins have to developed using web-technologies, and, upon examination of existing, Third-party, Add-Ins, this seems to be the case at least for the UI. What I don't understand, is, if the entire plugin has to be written using web-oriented languages, or if there is a macOS oriented SDK that allows to implement at least the underlying logic using a macOS native SDK, perhaps using Objective-C or Swift. I was hoping that somebody more expert could bring me in the right direction. Thanks for your attention.
There is no platform specific SDK for developing Office add-ins. You can use web technologies for developing cross-platform Office add-ins, see https://learn.microsoft.com/en-us/office/dev/add-ins/overview/office-add-ins for more information.
You also can use AppleScript for automating tasks in Word on the MacOS.

What is the correct way to access Microsoft Dynamics 365 data on the cloud? SDK vs Web Api

I'm .NET Web Developer and new to Microsoft's CRM, so bear with me. I'm trying to find the correct way to connect to Microsoft Dynamics 365 and retrieve some PDF files. I need to know which is the correct way to do so. I have some questions of some topics found Googling around that don't make sense to me.
Accessing through the SDK
I have found this Microsoft documentation which explains the SDK. However there is a NOTE that says that this has changed with the 2016 update, and Googling more around, it seems to be that the SDK it's not used anymore. I am wrong?
Accessing data using Web API
There's yet another Microsoft documentation that tries to explain the way to connect through a Web Api, however from the start, it says: "This section contains reference documentation of the types, functions, and actions that constitute the Web API for Microsoft Dataverse and Dynamics 365 Customer Engagement (on-premises)".
That "On-Premises" comment bothers me. I don't want to learn something that doesn't work for me. Why the web api seems to work only on premise? Why not Dynamics in the cloud?
And for what you can see, I'm utterly confused as to how in the world I can access data to retrieve a file programmatically through C# code from Microsoft Dynamics 365 cloud based.
Please, if you can point me in the right direction, I will really appreciate it.
Thank you!
If your language is C# you can use the SDK provided by Microsoft, it works with the Online (cloud) version.
If you are using .NET Framework you can use this NuGet package:
https://www.nuget.org/packages/Microsoft.CrmSdk.XrmTooling.CoreAssembly/
If you are using .NET Core/.NET 5.0+ you can use this NuGet package (but in public preview):
https://www.nuget.org/packages/Microsoft.PowerPlatform.Dataverse.Client/
Some details about these packages here: https://www.crmanswers.net/2021/05/microsoftpowerplatformdataverseclient.html
Adding to Guido's excellent information here are a few more considerations:
Plugins and custom workflows are custom .NET assemblies where you would use the SDK. They currently only support the full .NET Framework.
To call into the system from a JavaScript library on a form (a.k.a. Client-side scripting), you'd use the WebAPI.
For console apps, web apps, and other external code, you can choose between the SDK and WebAPI. (And as Guido points out, the .NET Core version of the SDK is in preview).
When using the SDK there are two possible coding approaches: Early Bound and Late Bound.
With early bound, you generate proxy classes for DataVerse tables. The classes have properties for each column/attribute, which enables intellisense.
With late bound, you use the string names of tables and attributes.
This article has more info.
Tools for generating early bound classes include Microsoft's CrmSvcUtil.exe, Daryl LaBar's Early Bound Generator in the XrmToolbox,
and the commercial Visual Studio add-on for DataVerse XrmToolkit.
If you're going the WebAPI route, David Yack's API Helper might interest you.

How to develop Windows 10 style apps like Mail or Powerpoint?

I'm new to Windows 10 and I absolutely love the Modern/Metro design. I'd love to create programs for Microsoft appstore that look like the Windows Mail or Office 365 Powerpoint but I don't know if I'm on the right track:
I downloaded and installed Microsoft Visual Studio Code, but it seems more for web development. Should I use Cordova and web technologies to create such apps? It is using WinJS(?) but I'm wondering if XAML is a better option?
I've also installed Visual Studio 2015 and put my Windows 10 in developer mode, but there is a bunch of options under C# projects: universal apps, windows forms apps, etc. Which one should I choose to do a native Windows app that looks like Microsoft Mail?
In general there is a whole bunch of options available and that is confusing. I know Java so picking up C# isn't hard for me. Also I've worked with Javascript/HTML/CSS for 4 years now and that is also comfortable for me.
I prefer performance and ease of maintenance.
The apps you mention are just regular Windows Universal apps so you can certainly do what you are asking.
1) No, VS Code is not for creating Windows Universal Apps, use Visual Studio 2015 instead (community edition is fine)
2) Your best starting point in terms of templates is Visual Studio 2015 > File > New Project >Installed > Templates > Visual C# > Windows > Universal > Blank App (Universal Windows)
It sounds like you could do with doing a few tutorials before diving into a real app. https://dev.windows.com/ is the main landing page for Windows app development. There are some great tutorials under the 'getting started' section, take the time to learn the basics now and you'll find writing your app much easier (and you'll probably produce a better app too).
https://dev.windows.com/en-us/design is also worth a look for design-specific resources.

Outlook interop: how to make application work with both version 2007 and 2010

I have created a small application to send emails via Outlook. The application opens an Outlook mail item with various pre-configured templates.
Now, the application was first build for Outlook 2010 using the Interop version 14. When testing on Outlook 2007, the application fails to create the required MailItem. I was assuming that the Interop would be backwards compatible, but that doesn't to be the case.
I have already tried using the Interop v12 instead, but then the application doesn't work on version 2010.
How can I make this application work with both Outllok 2007 and 2010.
Cheers,
Martin
You need to develop using the lowest supported version of Outlook (2007).
What exactly does not work when running under Outlook 2010 when you are using the 2007 interop?

Use existing Win7 code base in Windows 8 App

In my company we have an existing product that runs on Windows 7 and communicates with our web services.
We wish to make a Windows 8 tablet version of our product, and my first thought was:
"Hey, its just a new Windows version, so we can probably use our existing model, data access and business layer logic projects, and just focus on making a new UI layer"
But I fear that this is not the case, or am I wrong?
I tried opening our VS2010 solution file in VS2012 Express, but received an error "This edition of Visual Studio only supports Windows Store apps".
So, my naive hope now is: Can anyone tell me the easiest way to make our existing code work in a Windows 8 App?
EDIT:
The code is .NET C#, and my thought was that I just wanted to make a Windows 8 app so that the product had a tablet/touch friendly interface.
In general, you'll make a new UI using XAML, reuse a lot of your existing code, and change the data access to use SQLite.
VS2012 Express Edition is for making Windows Store apps. By "Windows Store" app, I mean an app which uses the WinRT APIs. Depending on your code, making a Windows Store version of your app can be straightforward.
If you need other features, you might need a different version of Visual Studio 2012. You definitely need to be on 2012 though. You can't build a Windows Store application with Visual Studio 2010. I think you know this already though.
If your existing .NET app uses WPF for the UI, you can reuse a lot of your XAML knowledge for the Windows 8 port. It's not as simple as recompiling, but it should be straightforward.
SQL CE is currently not an option for Windows Store applications. Instead, consider using SQLite.
Take a look at a post on MSDN called .NET for Windows Store apps - supported APIs. Some APIs you may be familiar with have been moved to WinRT. Sometimes porting is as simple as changing namespaces.
You mention that you also write to the C: drive. There's a sample on MSDN on how to read and write files.
So You need to build a new Metro Style Interface.
Wen You built interface just copy the Logic of your old application.
You can open old application in old VS 2010 and copy code line by line.
You can't convert old Windows app to Metro Style App.

Resources