Virtual Worlds Installer “Restart Required”

Despite restarting the computer, this app would not install, instead stating “Restart Required, a computer restart is required”

Slightly frustrating that the supplier of the software was not able to resolve the problem and it was left to me to try to figure it out for our customer.

The supplier / developer ought to know exactly what it is checking when it says Restart Required. I could see that their support team had checked the usual PendingFileRenameOperations stuff. I checked anything else I was aware of too such as Windows Update RebootRequired.

In the end I used process monitor to capture all registry access, filtered by the installer application. There were of course 10s – 100s of thousands of rows to sift through, but I filtered for ‘update’ or ‘restart’ etc. and found the part of the trace where it was doing these checks, and one by one looked at them in the registry.

In this instance it was HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\Pending

I changed this to notPending, and lo-and-behold all good.

Honeywell PD45S ZSIM.FNT ZPL font alias

I’ve spent two days* and printed so many labels. Piles and piles of labels, and I continue doing the same remotely from home and checking the Image Buffer through my browser to see what the printer at the office is producing. All I wanted was a scalable non-bold font! SST Thai is inbuilt and would do nicely, but could I get the font aliasing to work? No way. Well, yes, now finally. What a relief.

Of course it doesn’t help that you have to restart the printer every time you alter or edit the alias file (or do you? see below), and there is no information or debugging for this sort of thing, all you can do is try a print and see if it works.

Anyway it turns out that despite the Honeywell documentation (what little I could find) stating that the ZSIM.FNT alias file should be placed in /home/user, this is incorrect. In fact the alias file should be placed in /home/user/fonts

I have more good news. Now that I have the thing working, I can confirm that a restart is not required between changes. I was tinkering with the ZSIM.FNT alias file and I noticed that the change was picked up immediately.

The following ZSIM.FNT appears to do what I need:

Z#SST Thai#100#

That means: replace font Z with SST Thai, with magnification factor of 100%

Wonderful. I am so happy to have finally worked it out. This is now genuinely the highlight of my week.

*OK I was doing other stuff too, like trying to get a tiny FSC logo to be readable at 300dpi.

Server 2012 to 2012 R2 in place upgrade stuck on black screen during reboot

This is on a Poweredge T110 II

Trying to upgrade a 2012 (non-R2) DC to 2022.
That jump isn’t possible, so I am upgrading to 2012 R2 first.

After in-Windows initial phase (which took ages), upon reboot there was the windows logo and twirls for a moment, then screen off (DPMS), then screen back on, but no mouse cursor and nothing happening, no display.
No disk activity.
Keyboard responding – num lock , caps lock, but can’t do anything.
waited ages.
powered off and back on, forced VGA / low-res driver, no difference.

System was already using Microsoft Basic display driver anyway, and no other unusual drivers present as far as I can tell.

Gave up.
Upgrade to 2016 first instead. Much much faster initial phase of upgrade too – doesn’t run though and try to reconcile every hotfix and update that has been installed. What took almost an hour on 2012 -> 2012 R2 is taking 10 minutes.

Server 2012 R2 Essentials in place upgrade to 2022

The option to keep settings and apps is not present if the current edition (as returned by DISM /online /get-currentedition) is ServerSolution (a.k.a Essentials)

use DISM to upgrade with the KMS key to 2012 R2 standard:

dism /online /set-edition:serverstandard /productkey:D2N9P-3P6X9-2R39C-7RTCD-MDVJX /accepteula

then do in place upgrade to 2022.

Remember 2022 essentials *is* 2022 standard now. It’s a STD product key.

You can’t use EVAL media to upgrade either.

Notes on multiple Office accounts from same organisation

The official line from MS is that you can’t have multiple accounts from the same organisation signed-in to office at the same time. You can’t use the Office account switcher in the top-right. If you try to sign in with another user from your org, you will get the following message:

..and your only option is to sign-out the first user, possibly disconnect the Work or School account. Unfortunately, if the first user is the only one that has a license to activate the office desktop apps, then you probably do not want to sign-out of it.

The trick is usually to add your secondary account into Outlook, and allow Outlook to add it as a Work or School account. This results in both accounts showing up in the Office Account Switcher, and you can click between them, with the apps staying activated, OneDrive / Sharepoint, cloud settings and recent files working properly, even if the secondary account only has a basic license without desktop apps.

I recently had an issue where this didn’t work, and for the life of me I could not get it to work. I could not get the secondary account to add itself in to the account switcher without signing out of the main account first – which de-activates Office. It seems that if you do things in the wrong order, it’s nearly impossible to get it right again. The ability to choose your identity within the same org can be quite important, and not just for activation purposes.

Here are my notes from just now, to save myself the hours of messing next time.

On a new computer or new user profile, it seems that if you start out by adding the fully licensed (Business Standard or Premium) email account to Outlook, and activating the product with the same, then you can add the secondary account to Outlook during the Outlook welcome screen, and both accounts will stay active in the account switcher in all office apps.

If you somehow end up with it not working (e.g., accounts added in wrong order, or main account signed-out), then it’s a nightmare to fix. After much trial and error, this seems to work:

  • Disconnect both work or school accounts
  • Remove outlook profile
  • Delete all of HKCU\Software\Microsoft\Office
  • Delete %localappdata%\Microsoft\OneAuth

Then proceed as per new computer / profile above. The requirement to use Outlook might have something to do with the main email account corresponding to the entry in LicenseIdToEmailMapping

There are many times when it seems that you have it working, but then closing and reopening Word or Excel a couple of times causes the inactive account to be removed, and the apps become deactivated.

Mikrotik CAPsMAN out-of-hours Wi-Fi disablement / time-conditions.

Script scheduled to run every minute.

:local time [/system clock get time];
:if ($time >= "19:00:00" || $time <= "06:30:00") do={
	:foreach i in=[/caps-man interface find where disabled=no] do={:log info "Disabling CAPsMAN interface $i due to out-of-hours time"; /caps-man interface disable $i}
} else={
	:foreach i in=[/caps-man interface find where disabled=yes] do={:log info "Enabling CAPsMAN interface $i due to workday-hours"; /caps-man interface enable $i}

Outlook does not ask for password when adding new 365 account whose address was previously used as an alias (proxy-address) of an existing account

Yeah, good luck googling for “outlook does not ask for password”! It’s the exact opposite of what used to torment most Outlook users with Exchange accounts for quite a few years after RPC over HTTPS (Outlook Anywhere) was first introduced.

This is Outlook version 2111 Build 16.0.14701.20240 (365 subscription) on Windows 10. a.k.a. Outlook 2019 to 2021 ish.

My customer has a number of mailboxes, all full accounts (added to Outlook as accounts, rather than via delegation), and one of those accounts has quite a few aliases (proxy SMTP addresses). She wants one of those aliases putting as a separate mailbox.

I removed the alias email address, then created a new mailbox with that email address, with an Exchange Online Plan 1 license. Everything went OK server/cloud side, and I could log in via OWA, but any attempt to add the account to Outlook resulted in no prompt for the credentials. It just said ‘done’, but then when trying to access the mailbox, I would get “The attempt to log on to Microsoft Exchange has failed”.

Much faffing around with new Outlook profiles, checking of Saved Credentials in the credential manager, didn’t work.

The solution was to go to Access work or school, and then remove the Workplace or school account of the original account (the one that used to have the problem-address as an alias).

Then, I tried to add in the new account as a Work or School account, but that didn’t work. This may be because it’s an Exchange Online Plan 1 license rather than a full 365 Business Basic license. I stopped using Exchange Online Plan 1 for my customers a while ago and was giving everyone Business Basic licenses, since it was only 80p per month extra in cost, but these licenses are due a 20% price increase soon, amongst other Microsoft price increases and increased minimum-term commitments, so Exchange Plan 1 is back on the cards for basic email requirements.

After the failure to add this new account as a Work or School account, I instead added it to Email & accounts in Windows 10. This then magically added it as a Workplace account as well. I then removed the Email account from Windows 10, because I don’t want to use the Mail app and the Windows 10 notifications. Happily, the Workplace account remained in place.

I reopened Outlook. Outlook prompted for credentials for the original Workplace account that I removed earlier. I gave the credentials and allowed it to add the account back in to Windows as a Workplace account (‘use this account everywhere’. ‘allow my organisation to manage my device’).

I then proceeded to add the new ex-alias problem-account into Outlook. Outlook did not prompt for credentials, but things took a touch longer than last time (when it didn’t work), and this is fine, because the credentials are stored with the Workplace account already. After closing and reopening Outlook, all is well.

Sage 50cloud accounts / Line 50 closes after password screen. After upgrade from v26 to v28

Another Sage problem.

The same old crap – program disappears after the splash screen, or after entering your password. In this case it was after entering password.

Only this time, the cause, or at least the fix, was different. After an hour of pissing-about re-installing, rebooting, deleting everything I could find related to Sage, re-installing again, etc., I remembered the dot-net trick, gave it a go, and whaddaya know, it worked.

The fix, is to go into Windows’ Programs and Features, then Turn Windows features on or off, and turn off .NET Framework 3.5, and also 4.8. Let that take effect, reboot, then turn them back on.

Jobs a goodun.

Do yourself a favour and move to Xero.

Sage 50 Data Access will not install. Fails & rolls back at ODBC stage.

The machine is a terminal server. Windows Server 2012 a.k.a. Windows 8.

These are the MSI log lines of interest. Specifically the ‘wrong context’.

MSI (s) (88:A4) [11:25:47:730]: Created Custom Action Server with PID 5344 (0x14E0).
MSI (s) (88:A8) [11:25:47:754]: Running as a service.
MSI (s) (88:A8) [11:25:47:757]: Custom Action Server rejected - Wrong Context
MSI (s) (88:A4) [11:25:47:760]: CA Server Process has terminated.
MSI (s) (88:BC) [11:25:47:760]: Failed to get IMsiCustomAction*
11/05/2021 11:25:47.761 [7048]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 393

Custom MSI actions & terminal server wrong context is a known thing apparently, introduced as an issue around Windows 7 / Server 2008 times with some updates to Windows Installer.
The issue seems particularly common with ODBC related packages, and I suspect this is because there are separate User and System contexts for ODBC configurations. Something is getting confused somewhere.

People say to revert various Windows Updates to downgrade the Windows Installer version.
Unfortunately none of that could be applied here for this Server 2012 machine – all the discussion I found was around Server 2008 / Windows Vista/7.

The other suggested workaround of using psexec did work though, and after a day of fighting this, it will do.

psexec -s -i msiexec /i "c:\users\administrator\Downloads\Sage Accounts 27_2\packages\Sage50Accounts_DataAccess.msi"

Don’t forget you need the full path, because the task runs in a new session / environment as the system account, and will not have the current working directory as its working directory.

If you are installing the whole thing rather than just the DataAccess components, leave off the msiexec /i and just call the installer executable:

psexec -s -i  "c:\users\administrator\Downloads\Sage Accounts 27_2\install.exe"