Deleting a Windows Service

WindowsI recently uninstalled an application to notice a few days later that the related service was still showing in the Services applet.

I've previously posted about adding and removing dependencies from a Windows service.

As with adding or removing dependencies, the SC command online program can be used to delete a service:

SC DELETE {service name}

Hands on with the Microsoft Dynamics GP Fall 2020 Release: Install .NET prerequisite

Microsoft Dynamics GPThis post is part of the Hands on with the Microsoft Dynamics GP Fall 2020 Release series where I am hands on with the newly released Microsoft Dynamics GP Fall 2020 Release.

Before installing any of the Microsoft Dynamics GP components, you need to make sure the system requirements are met. On top of this there is also some prerequisites which need to be met before the Microsoft Dynamics GP client or other components can be installed.

Most of these prerequisites can be handled by installer process, there is one which cannot; this is the .NET Framework 3.5 feature which is installed using the Add Roles and Features Wizard available via Server Manager on Windows Server or using Turn Windows features on or off accessible via Program and Features on Windows.

If the PC or server you’re planning to install Microsoft Dynamics GP onto has an Internet connection, then the .NET can be installed simply by using the wizard. However, if, for whatever reason, you don’t have an Internet connection available, the install process isn’t quite that smooth.

However, for both server and PC you can do an offline install and I have blogged about this several years ago:

  • Offline install on Windows.
  • Offline install on Windows Server.
  • The above articles are for older versions of Windows Server and Windows, but the process is exactly the same on current versions.

    Click to show/hide the Hands on with the Microsoft Dynamics GP Fall 2020 Release Series Index

    Disable sounds for all Windows 10 Notifications

    WindowsI've been switching off sounds for notifications for different programs for a while as I find the notuification chime far too loud compared to other program sounds, but as I am doing this on five or more machines, it is getting somewhat irritating. I eventually started thinking about a global switch off and wanted to see if this was possible, but since Microsoft moved settings out of the Control Panel, I have had a hard time finding a setting when I want it.

    This particular setting does exist and is in what is an obvious place (or at least obvious when you know where it is); do disable sounds on notifications globally, open the Notifications and settings app (the shortcut ms-settings:notifications can be used to open it quickly) and unmark the Allow notifications to play sounds):

    Notifications & actions applet

    I have an article on the settings shortcuts.

    Run Task Manager as Administrator

    WindowsI was deploying a new version of a Microsoft Dynamics GP Dexterity modification for a client recently and ran into a problem caused by a user who had disconnected their RDP session to the server instead of logging off; this had left a lock on the dictionary file as they had also not closed Microsoft Dynamics GP.

    The server logon requires individual logons with MFA enabled, but my user is not an administrator on the server. As I was doing the deployment out of hours, I was not able to call the user and ask them to log off, but instead needed to kill their session and close the client. With my user account being an ordinary one, I didn't have permissions to kill the session, but I did have access to a domain admin account which did have th permissions.

    The following command will let you specify the user account with which to start Task Manager allowing you to run it under an admin account when yours isn't:

    runas /user:{username} taskmgr

    After entering the command, you need to enter the password for the admin account you used.

    Windows rotation lock missing

    WindowsI use a small convertible laptop (the screen rotates through 360o to turn into a tablet) for a lot of web browsing; occasionally I convert it into a tablet and switch allow the screen to rotate from landscape to portrait mode. However, when I tried to do this by switching off the Rotation Lock option the other day, the option in the action centre was missing; it is usually between Tablet Mode and Network:

    Rotation Lock missing from the action centre

    Continue reading "Windows rotation lock missing"

    Move SSL certificate to a different store

    WindowsIn the last post, I mentioned moving an SSL certificte between stores and thought it might be worth showing how to do it.

    Launch the Microsoft Management Console (Win+R and type mmc) and click the File menu and select Add/Remove Snap-in...:

    Open Snap-in menu

    Continue reading "Move SSL certificate to a different store"

    Manifest to manage scaling for for High DPI displays

    Microsoft Dynamics GPWith more clients working remotely, there has been an increase in the number of people asking me about Microsoft Dynamics GP not scaling text properly. The problem can occur in the text showing either very small or very large (with different versions of Microsoft Dynamics GP handling fonts differently they can display with different problems):

    Dynamics GP with text showing too large

    This issue has been raised with me by users with the issue on local clients running on high DPI devices like the Microsoft Surface or when using them to access Microsoft Dynamics GP via RDP.

    Fortunately, there is a known workaround available for this issue. Steve Endow on his old Dynamics GP Land blog post about resolving the issue using a manifest file. Then in 2018, Nathan Hayden posted about a similar approach for remote desktop connections.

    The first step is to create a manifest file called Dynamics.exe.manifest or Mstsc.exe.manifest (depending on whether you're fixing the issue for a local or remote desktop accessed client) containing this XML:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    <dependency>
      <dependentAssembly>
        <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*">
        </assemblyIdentity>
      </dependentAssembly>
    </dependency>
    <dependency>
      <dependentAssembly>
        <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b">
        </assemblyIdentity>
      </dependentAssembly>
    </dependency>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
      <security>
        <requestedPrivileges>
          <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
        </requestedPrivileges>
      </security>
    </trustInfo>
    <asmv3:application>
      <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
        <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
      </asmv3:windowsSettings>
    </asmv3:application>
    </assembly>

    This file should be placed next to the exe file to which it should be applied. By default, this will be %ProgramFiles(x86)%\Microsoft Dynamics\GP (adjust based on your version or install folder) or %windir%\SysWOW64\ depending on if the fix is for a local or remote desktop accessed client.

    Then use the below to create a manifest.reg file to add the DWord registry entry which tells Windows to prefer and use the external manifest just created:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide]
    "PreferExternalManifest"=dword:00000001

    Once you've created the registry file above, double-click it to add the DWord to the registry.

    When you next launch Microsoft Dynamics GP or connect to the RDP session and launch it, the text in the client should display correctly.

    Hide Desktop Icons

    WindowsA few years ago I used to have a Windows desktop covered in icons, which was almost a throwback to the old Windows 3 Program Manager (I think that's what it was called, but I had to look it up). In recent years, I've tended to go for a much cleaner look to the desktop and use a lot of shortcuts to start applications instead.

    I dislike having the Recycle Bin on the desktop, which is there by default, but because Microsoft have been shuffling settings around a lot, I never remember where the setting is to turn it off, so this post is a reminder.

    To switch off (or on) the desktop icons, launch the Themes Settings applet by right-clicking the desktop and select Personalise (or launch it using the ms-settings:themes URi).

    When launched, select Desktop icon settings on the right (or at the bottom if the window is narrow):

    Themes settings window

    Continue reading "Hide Desktop Icons"

    Hands On with Microsoft Dynamics GP October 2019 Release: System Requirements

    Microsoft Dynamics GPThis post is part of the Hands On with Microsoft Dynamics GP October 2019 Release series where I am going hands on with the new version of Microsoft Dynamics GP.

    The October 2019 release of Microsoft Dynamics GP largely has the same system requirements as Microsoft Dynamics GP 2018 R2 with the addition of the following:

    • Windows Server 2019
    • SQL Server 2019
    • Office 2019

    Click to show/hide the Hands On with Microsoft Dynamics GP October 2019 Release Series Index

    An authentication error has occurred; this could be due to CredSSP encryption oracle remediation

    Windows ServerThis error first came up early in 2018, but I've stumbled across it a couple of times recently and had to hunt around for the solution, so I am posting it here so I know where to find it next time.

    Microsoft released an update to address vulnerabilities for the Credential Security Support Provider protocol (CredSSP) used by Remote Desktop Protocol (RDP) connections for Windows clients and Windows Server.

    Since that hotfix came out, if you try to connect from a patched machine to an unpatched one, you receive this error:

    CredSSP error

    Remote Desktop Protocol

    An authentication error has occurred.
    The function requested is not supported.

    Remote computer: {server name}
    This could be due to CredSSP encryption oracle remediation.

    Continue reading "An authentication error has occurred; this could be due to CredSSP encryption oracle remediation"