Tampilkan postingan dengan label Installation. Tampilkan semua postingan
Tampilkan postingan dengan label Installation. Tampilkan semua postingan

Jumat, 27 Januari 2017

Deploying Microsoft Dynamics GP Web Client with Office 365 Identity and Azure Active Directory - Part 1

Deploying Microsoft Dynamics GP Web Client with Office 365 Identity and Azure Active Directory - Part 1

Hi! As of late I have been seeing a number of questions on forums about deploying Microsoft Dynamics GP Web Client using Office 365 identity. So I figured I would take a deep dive look into this topic, by providing a bit of background and steps to achieve a successful deployment. What you need to know is, you have a range of options.


Background

Office 365 uses Azure Active Directory (Azure AD) cloud-based user authentication service to manage users. This service provides 3 identity models that can be used to manage user accounts:


Cloud identity. In this scenario, accounts are managed in Office 365 only. All the administration is done in the cloud, requiring no on-premise servers to manage the accounts.

Synchronized identity. In this particular case, your on-premise directory objects are synchronized with Office 365, with the bulk of the administration done from your on-premise server. Passwords can be synchronized such that users have the same password both on-premises and in the cloud. The downside to this approach is, users will need to sign in twice: once to the local domain and yet again to access Office 365.

Federated identity. This identity management model allows you to synchronize your on-premises directory objects with Office 365 and manage your users on-premises. The users have the same password on-premises and in the cloud, and they do not have to sign in again to use Office 365. This is often referred to as single sign-on.


The following video describes in more detail how each of these identity models work:



Most organizations will fall within the Synchronized or Federated model, but as more and more organizations move to a pure cloud model, cloud identities are becoming very common.

In my next article, I will go into the pre-requisites to deploy Microsoft Dynamics GP Web Client with Office 365.

Until next post!

MG.-
Mariano Gomez, MVP

Kamis, 03 November 2016

Microsoft Dynamics GP 2016 web client UI not displaying icons

Just today, I ran into a community forum post requesting an answer on why Microsoft Dynamics GP 2016 web client UI does not display icons. Since I had ran into this same issue before, I though I would I create this article to address the topic.

The Problem

Most users reporting this issue, experience things like the images shown below, where the Microsoft Dynamics GP logo and upper left corner application splash image are missing.

Microsoft Dynamics GP Sign In page (Sessions)

Furthermore, if you are able to access the application, mind you, sometimes this is not possible due to static content restrictions, you may find that your navigation bar and other areas of the application are missing the respective icons.

It is worth noting that in most cases, the missing icons do not negate the events of the buttons or objects they are associated with.

The theory

In web development, static content are files that don't change based on user input, and they consist of things like JavaScript, Cascading Style Sheets, Images, and HTML files. As you would expect, the Microsoft Dynamics GP web client icons and images fall within the category of static content. However, it is necessary to instruct the web server, in this case Internet Information Services (IIS), that it must publish any such content when identified.

Static Content is a feature that is turned on by default when IIS is deployed bare bones, this is, accepting all the default features - this is also known as deploying a static content IIS web server, which is the most basic of web servers.

The solution

Below, you will find instructions for Windows 10 and Windows Server 2012 and above.

Installing IIS Features on Windows 8 and Windows 10: Static Content

1. Right-click on Start and choose Program and Features



2. In the Windows Features window, locate and expand Internet Information Services.


3. Expand World Wide Web Services and Common HTTP Features.


4. Click on Static Content, to enable this feature.


5. Click the OK button. Windows 8 and Windows 10 will proceed to apply the selected changes. When finished, click the Close button to exit.


At this stage, a reboot may or may not be required. Follow any instructions provided after closing the window.

Installing IIS Features on Windows Server 2012 R2: Static Content

1. Open Server Manager by clicking the Server Manager icon on the task bar

2. In the Server Manager window, with the Dashboard and Quick Start selected, click Add roles and features, or click the Manage menu, and then click Add Roles and Features. The Add Roles and Features Wizard will start with a Before You Begin page. The wizard asks for verification of the following:

  • The administrator account has a strong password. 
  • The network settings, such as IP addresses, are configured. 
  • The most current security updates from Windows® Update are installed.
3. On the Before You Begin page, click Next.
4. On the Installation Type page, select Role-based or feature-based installation to configure a single server. Click Next.



5. On the Server Selection page, select Select a server from the server pool, and then select a server.


6. On the Server Roles page, expand Web Server (IIS).


7. Click Next twice to bypass the Features page and the Web Server Role (IIS) page.

8. On the Role Services page, expand Web Server and Common HTTP Features. Click to enable Static Content.


9. After you have added the role services that you need on the Role Services page, click Next.

10. On the Confirmation page, verify the role services and features that are selected. Select Restart the destination server automatically if required to restart the destination server if the settings need to take immediate effect. To save the configuration information to an XML-based file that you can use for unattended installations with Windows PowerShell, select Export configuration settings, move to the appropriate path in the Save As dialog box, enter a file name, and then click Save.

When you are ready to start the installation process on the Confirmation page, click Install.

Until next post!

MG.-
Mariano Gomez, MVP

Kamis, 17 September 2015

Microsoft Dynamics GP Web Client no longer working on Google Chrome 45

If you had gotten used to running the Microsoft Dynamics GP web client on Google Chrome, chances are you have just woken up to the constant requests for installing the Silverlight plugin. You may have attempted the installation a few times by now, only to notice that you are still being requested to install Silverlight.

Microsoft Dynamics GP Web Client on Chrome 45 

Google Chrome users who normally relied on functionality that NPAPI plugins provided won't be able to make use of them anymore with the release of Chrome 45. NPAPI-only plugins such as Java or Silverlight are used throughout the web and while their use is declining, there are numerous applications and services that make use of either one or another plugin - for example, your beloved Microsoft Dynamics GP web client.

This Chrome Extensions article explains the security concerns behind the use of NPAPI-based plugins, mainly, the ability of said plugins to gain access to a user's local machines. Any security gaps in such plugins would render a user's machine vulnerable to exploits by malicious code.

However, this should not at all come as a surprise, since Google had it in the works to remove NPAPI support since September of 2013, see Saying Goodbye to Our Old Friend NPAPI, with Chrome 45 selected as target for final deprecation.

So what are the alternatives?

Well, you can fall back once more to Internet Explorer 10 (desktop), Mozilla Firefox, or even Apple's Safari. If my mind serves me correctly, the latter two will have some minor limitations (as in "may not be fully compatible").

Option number 2 would have you downgrading Chrome, if you are willing to get the installer from non-Google sites like Old Apps or File Hippo.

As a final note, the following browsers DO NOT support Silverlight:

Microsoft Internet Explorer 10 modern UI
Microsoft Edge (formerly code name Spartan, available on Windows 10)
Google Chrome (version 45 and above)
Opera (version 20 and above, current version is 32)

Until next post!

MG.-
Mariano Gomez, MVP

Jumat, 29 Mei 2015

"A SQL Server login already exists for . Delete the user and create a new user" error when switching a user ID from web client only to mixed mode access

I'm completing the deployment of Microsoft Dynamics GP 2013 R2's Project Accounting and Time Entry approval workflow for a customer in Alabama who is currently deploying web client for extranet access (and timesheet entry) and desktop client for intranet access.

As a result, since time entry employees are remote, we decided to setup these user accounts as web client only. However, the customer wanted to provide an alternative to the web client in case it became unavailable. This meant that these users would needed the ability to access the Microsoft Dynamics GP desktop client via a Terminal Server provisioned (albeit temporarily) to support this goal.

The Problem

To meet this requirement, we needed to adjust the user accounts in Dynamics GP to also support SQL Server authentication (in addition to web client access), by deselecting the Web Client user only check mark and completing the SQL Login credentials information. Upon attempting to save the changes we received the following error:

A SQL Server login already exists for userID. Delete the user and create a new user.


As it so turns out with most application errors, you cannot just follow the instructions literally to fix the problem. In this case, we had more than 85 web client only user accounts created so "Delete the user and create a new user" wasn't an option and I don't know why I had a gut instinct this recommendation would not work anyways.

It also turns out that I tested this in Microsoft Dynamics GP 2015 and had no issues switching a user account from Web Client user only to a mixed mode access user account.

NOTE: "mixed mode access" user is a terminology I came up with to identify a Microsoft Dynamics GP user account with access capabilities from both the web client and desktop client.

The Solution

In troubleshooting this problem, the first thing is to focus on the first part of the error message, "A SQL Server login already exists". If a login already exists on SQL Server, then it should be visible under Management Studio - bear in mind that each Dynamics GP user account was setup as a web client only account to begin with. In principle, there should be no SQL Server security principal for these type of accounts.

Management Studio did not show any account created for the Dynamics GP under the Security folder. So the next logical thing would be to run a statement to check for a SID for the account in question:

SELECT suser_sid('TheUserID');

This statement returned an actual SID number (a long hexadecimal set of characters), confirming at least there was a corresponding SID for the account, even though we could not see the actual account in Management Studio.

Next was to verify then, what account was assigned to that SID. In order to do this, I ran the following SQL statement:

SELECT name FROM sys.server_principals where sid = (SELECT suser_sid('TheUserID'));

As it turned out, this statement returned no results. So here's the conundrum... GP thinks there's a SQL login for a user account that doesn't really exists on SQL, but has a SID.

Now, because there wasn't an actual SQL login for the user ID in question, I went ahead and setup a new SQL login with the user account by running the following statement:

sp_addlogin('TheUserID', 'somePassword');

The statement was successful and I could now see the SQL login under the security folder.

The next thing was to then reset the Dynamics GP web client user flag and assign the SQL login to the user account:

UPDATE SY01400 SET WCUser = 0,  SQLLoginID = 'TheUserID' WHERE USERID = 'TheUserID';

Since Microsoft Dynamics GP passwords are encrypted on SQL Server, you will now need to log into Dynamics GP, pull up the user account under the User Maintenance window, and change the password in the SQL login credentials section.

I cannot assess whether this is a bug or not, but suffice to say the same behavior is not present in GP 2015, so I must lean towards it being a bug.

I hope you find these troubleshooting steps useful.

Until next post!

MG.-
Mariano Gomez, MVP

Minggu, 24 Mei 2015

DBMS: 12 Microsoft Dynamics GP: 0 error when updating to Microsoft Dynamics GP 2013 R2

Hello all! It's been quite a while since I've actually written anything of remote interest to anyone who follows my blog, but at the same time, you will be pleased to know that I've been quite busy in the consulting front, with upgrades, server migrations, complex multi-instance postings involving 10's of thousands of transactions, wrapping up some Field Service Automation projects, and the list goes on and on.

This time around I want to bring to the forefront, an issue I encountered updating from Microsoft Dynamics GP 2013 SP2 to Microsoft Dynamics GP 2013 R2 plus the latest service pack.

Background

My client requested a server migration to a new environment where they wanted to deploy Dynamics GP 2013 R2 web client (plus the latest service pack) and upgrade their relational database management system to Microsoft SQL Server 2014. This is something I'm absolutely comfortable with (for the most part) given also that my client was sitting at Microsoft Dynamics GP 2013 with Service Pack 2.

As it is customary with these types of request involving a server migration, I followed the very clear instructions outlined in KB article 878449 - How to transfer an existing Microsoft Dynamics GP, Microsoft Small Business Financials, or Microsoft Small Business Manager installation to a new server that is running Microsoft SQL Server. I have walked through this article more times than I care to mention and can pretty much recite the steps by heart.

During the Dynamics GP Utilities process on the system database, I kept receiving the error message:

"Microsoft Dynamics Utilities Install/Upgrade failed"

This seemed to be a recurring problem on the sySrsReports table during the system database update. Upon further inspection, I noticed the temp table created for the sySrsReports (sySrsReport_T) was still present and that dropping this table would allow Dynamics GP Utilities to continue processing the system database update to completion.

However, the company database updates were failing with the following error messages:

"The stored procedure GetBD_UpgradeStatus() of form duSQL Pass Through SQL returned the following results: DBMS: 12, Microsoft Dynamics GP: 0."


Upon clicking the OK button, the following error message would appear:

"The stored procedure UpdateDB_Upgrade() of form duSQL Pass Through SQL returned the following result: DMBS: 12, Microsoft Dynamics GP: 0."


The above two errors would reiterate a few times (5 or 6 to be exact) to finally produce the following error:

"The stored procedure getCompanyID() of form duSQLInstall Pass Trough SQL returned the following results: DBMS: 12, Microsoft Dynamics GP: 0."


And would come to rest with the error described at first. Now, I've done myriads of upgrades in my lifetime, but this one put me on a cliff for a while. The DEXSQL.LOG clearly did not show anything specific and the duinstall.log just showed execution messages ("Message encountered" messages) happening where the problem occurred.

In all fairness, the DEXSQL.LOG kept showing a "[Microsoft][SQL Server Native Client 10.0]Communication link failure" error which lead me to check the version of SQL Server Native Client I was running, which was version 10. I then upgraded to SQL Server Native Client 11.0 and nothing really changed.

I also realized the update was failing while attempting to create the table auto procedures for the wkPostingValidationState table. I then drop this table and its auto procedures and restarted the update in the hopes it would recreate the objects once more, but was not successful.

Suffice to say, I restored the system database and company databases in order to devise a different strategy.

The Solution

After tinkering with the installation, I decided to retrace my steps and realized that during the installation process, I chose to install Web Client Runtime Engine - after all, this machine was the web server and would be running a Single Machine instance of Dynamics GP. I then decided to install the Dynamics GP client on the database server without the Web Client Runtime Engine and launch GP Utilities once more. The update process ran flawlessly and without any errors!

I still cannot understand why the presence of Web Client Runtime Engine would have caused an error while updating a service pack, however I have to remind everyone of the official Microsoft stance: "the session host must only be used to perform very little administrative work". An update is certainly everything but a "little administrative work".

It was good to finally get pass these issues and complete the update process for my client.

Please take a look at my GPUG webinar on upgrades at:


Mariano's Toolbox: Upgrading to Microsoft Dynamics GP 2015 for dummies 


Until next post!

MG.-
Mariano Gomez, MVP

Jumat, 13 Maret 2015

You receive "Unable to Upgrade SBA from RTM" when attempting to apply Microsoft Dynamics GP 2015 January or March Hotfix

Well, this one for sure has bitten more than one person already. I've seen a lot of exchanges and fielded a number of calls from folks trying to install the January or March hot fixes of Microsoft Dynamics GP 2015. When the msp file is executed, couple seconds into the execution you receive the following error message:

"Unable to upgrade SBA from RTM. Please remove the SBA feature before running this patch."


The first reaction is to try and find the feature via the Uninstall or change a program options under the Windows Control Panel. As it turns out, there's no such option. This has led many folks to the next "obvious" option: Microsoft Dynamics GP Web Components.

When you choose to uninstall the Microsoft Dynamics GP Web Components, you will get rid of the Web Client install, but not the SBA components.

So what's the solution?

The keyword in the error message is the word "feature". SBA is a Microsoft Dynamics GP feature. In order to remove, you will need to right-click on Microsoft Dynamics GP 2015 and select the change option.


You will then click on the Add/Remove Features option in the Program Maintenance window, then scroll down until you see the Service Based Architecture option in the Select Features window. You can the proceed to click on the corresponding options button associated to the SBA prompt and select Not Available.

Select Features window
Once you click Next, the installer will proceed to remove the feature from your environment. When completed, you can re-run the hotfix msp to apply the updated code.

Until next post!

MG.-
Mariano Gomez, MVP
Intelligent Partnerships, LLC
http://www.intelligentpartnerships.com/