HP Printer prints anything, except Microsoft Word documents

April 14, 2019

Okay this was something i didn’t expect.

Bought a new printer for home use: the HP Color Laserjet Pro M452nw.

Installed it on my home Windows 10 x64 box 1809, fully patched and updated. Also installed is Microsoft Office 365 ProPlus, fully updated.

For installing the printer i used the latest available drivers from the HP website ( this one )


The problem

It would print beautifully, all kinds of pictures (jpeg, gif, psd…),but also pdf and excel files..

Then, the next day i try to print a Microsoft Word document.

But..Nothing happens. Doesn’t print.

There is no error messages in Word or on the printer..nothing.

Wow, i was stunned. I mean, printing a document in Word…  that’s pretty common you would think, right?

How can a new printer, from a respectable vendor like HP, using default settings, not be able to print a simple document in Word?


The search for a solution

What i checked:

– updated drivers available at HP or Microsoft for the printer? (No, already the latest)

– updated windows and Word (Already up to date)

– Checked settings for printer and for Word. (nothing weird)


The real solution

After searching through useless answers of HP personnel on HP support forums (have you updated? have you reinstalled?, have you restarted?) i finally came acroos THE ANSWER in this thread

Just in case they trash the thread later, here is the exact answer, provided by a user named UrbSve:

It seems the driver package for this type of printer was really not very well thought through. When printing PDFs and from applications like Notepad it works fine but when printing from Word the process the prints does not have access to the Temp folder which it needs to do the print. The programmers opted for “Silent fail” and the print just disappears even if it briefly shows up in the print queue. The easy solution is usually to give access to the Temp folder to Everyone. Please note that there may be several Temp folders on your machine and to check which one the easiest way is perhaps to start the Command Prompt and to type SET and then pressing enter. That gives you a line with the Temp folder listed. Right click on that folder in Explorer and grant access to “Everyone”.

This made sense to me, since there were some other similar answers that mentioned turning off UAC had worked for them. So, something to do with the permissions.

And sure enough, after granting Full permissions to All users on the Temp folder, the problem was solved. Word printed normally.

You could also see the difference, when you press Print in Word, a lot of temp files (spooling?) are created in the Temp folder.  Pretty weird that the drivers are programmed that badly to work this way.

Error “Setup was unable to create a new system partition or locate an existing system partition. See the Setup log files for more information”.

October 24, 2014

I was installing a new SSD drive in a desktop computer.

For this i used a USB 3.0 usb-drive (Kingston Datatraveler 100 G3 16 GB ), on which i had put the Windows 7 x64 SP1 installation files, using the Windows 7 USB/DVD tool.

This process had worked for about a hundred previous installations 🙂

It was the first time i used this USB 3 drive for installing Windows 7

And yes,i got the error

Error “Setup was unable to create a new system partition or locate an existing system partition. See the Setup log files for more information”.

Tried Shift-10 and starting diskpart, doing the partitioning myself, but didn’t help.

Cahnged some BIOS settings, but no luck.

Then i saw this post:


And yes, after doing the exact same process with a USB 2.0 drive, it worked flawlessly.

Can we use Windows Azure SQL Databases for ConfigMgr 2012?

January 20, 2014


This question popped up when i was doing a demo ConfigMgr environment, running completely in Windows Azure.

Simple setup, All ConfigMgr roles on a single server, including local SQL DB.

For this, i used an  “A5” VM instance, which has 2 vCpu cores and 14 GB of RAM.

For storing the data, i attached a “persistent disk” , as that is storage that is guaranteed to remain persistent after reboot (don’t use the temp-disk!)


Now this is a costly machine, as running an A5 VM costs about 220 euros per month. (pricing)

And this is only the running of the VM, not taking into account the storage costs, download traffic costs, etc.

Now storage and download bandwidth are pretty cheap in Azure, compared to the computing costs.  But still, can we save money somewhere?

Cutting costs

So, can we cut the costs somehow? Do we need 2 cores and 14 GB of RAM?

The major reason for this amount of RAM is running the SQL server locally. If we could move that somewhere else, a “medium VM” with 2 cores and 3,5 GB would be sufficient.

This type of VM only costs about €100 per month. Quick saving, right?

Azure SQL

So, Azure also offers SQL Database services. And a lot cheaper (a default 5 GB CM database would cost about €20 per month)But are they suitable for running a ConfigMgr 2012 database?

Let’s compare the ConfigMgr Database Requirements, and the specifications for Azure SQL Databases.


-1:  “At each site both the instance of SQL Server that is used for the site database and the site database must use the following collation: SQL_Latin1_General_CP1_CI_AS.”

Well, that doesn’t seem to be a problem. Although the site database cannot be configured in Azure (because it uses a shared sql server of course), the default collation for new databases is SQL_Latin1_General_CP1_CI_AS. Which suggests that the Instance is also using that collation, but we cannot be sure at this point.

-2: “Configuration Manager requires Windows authentication to validate connections to the database.”

Whoops. That is a problem, since Azure does not support this. (Windows Authentication is not supported)

The Verdict

For those wondering if we can use Azure SQL DB services for hosting a ConfigMgr database:

– No, you cannot.

Tip: Do not change the default installation location for ConfigMgr 2012

December 11, 2013

When you specify a different installation location for ConfigMgr 2012 when installing your siteserver or server with MP role, you might get into some trouble.
It seems that some components are very attached to the default “C:\Program Files\Microsoft Configuration Manager” folder.

Error 1: when installing smsmmp, the installation is unable to create the SMS_CCM folder underneath the “Microsoft Configuration Manager” folder, and thus fails the smsmp.msi install with vague error 1603.
“mp.msi exited with return code: 1603″
Fatal MSI error – mp.msi could not be installed”
Also the BGBsetup.msi fails, with the same errors.
After manually creating this folder, the install of the MP role and the BGB succeeds.

Error 2: after installing the bgb role, its registration with .Net 4 fails.
The Error in BgbSetup.Log says:
“Fatal MSI Error – bgbisapi.msi could not be installed”
And a little bit above that:
“CTool::RegisterComPlusSErvice: Failed to register E:\Program Files\Microsoft Configuration Manager\bin\x64\microsoft.configurationmanager.bgbserverchannel.dll with .Net FX 4.0”

This is also due to the files being installed in a different location, which the Regsvc.exe of .Net FW doesn’t like.
In order to fix this, you have to modify 2 files in your .Net FW folder (probably C:\Windows\Microsoft.NET\Framework64\v4.0.30319)
Modify InstallUtil.exe.config and Regsvc.exe.config
Add the following text to these files, just below the “configuration” bit: (remove the <Code> tags, i included them to keep WordPress from removing my code)


<loadFromRemoteSources enabled=”true”/>


After saving these file, retry the configuration of bgb by stopping and starting the SMS_SITE_COMPONENT_MANAGER.
This will re-trigger the configuration of the Client Notification Service, and this time, the registration with .Net FW 4.0 will succeed.

If you have problems editing these files, check this post

Windows 8.1 Hyper-V – Simplified VM Import, and Generation 2 VMs

October 16, 2013

After upgrading my Windows 8 workstation to Windows 8.1, i was eager to try out all the new functionality within Hyper-V in 8.1

Simplified VM Import

The first thing i noticed was that i could easily re-import my VMs, which i had stored on another disk during the migration. While in previous versions you had to properly export a VM before you could import it again, this has gotten a lot easier. Now, you can just import any VM from disk, without it having been exported first.

This is called Simplified Import.

After getting my lab-VMs back in the Hyper-V Management Console, i created a new VM.

Second Generation VM

In this wizard i got the option to create a Generation 1 or a Generation 2 VM:


Here i chose 2nd generation of course:

2nd generation Virtual Machines, providing features like

* UEFI and Secure Boot

* boot from virtual SCSI harddisk or DVD instead of IDE

* PXE boot by using a standard (synthetic) NIC instead of an old  legacy NIC

So the new VM looked like this:


Notice the Synthetic NIC for PXE Boot, the SCSI bootdisk, and the UEFI BIOS.

This asked for a test installation using SCCM 2012 SP1, using all these features of course 🙂

Booting this machine in UEFI mode caused the PXE boot to look and behave different too:


Also, no more “Press F12” , but “Press Enter for network boot service”


Also, a slightly different WDS – PXE screen where the client is contacting the Siteserver to determine applicable client policy:


Finally we’re in the Task Sequence.


No keyboard during OSD

What i noticed here, is that i could not use the keyboard.

Keyboard commands were simply not passed on into the VM.

So I could only select the desired Task Sequence using the mouse.  This seems to be a bug.. (link)

I tried disabling the Enhanced Session Mode but that didn’t solve it unfortunately.

Update – This turned out to be a bug indeed: click.
Something with keyboard drivers in WinPE and WinRE. Workaround is to use Windows 8.1-based WinPE


After selecting the proper OS to install (Generation 2 VMs are only supported when using 64-bit Windows 8 or 8.1, or Server 2012 / 2012 R2) the install started.

And it went FAST!

Where starting ConfigMgr OSD by booting from PXE tended to be quite slow using Hyper-V before, this was as quick as when using bootable media (iso).

Very fast indeed. Downloading the WIM file and applying the OS took no more than 3 minutes…

Installing the ConfigMgr client took 5 minutes.. within a total of 12 minutes the thing was up and running. Nice.

ConfigMgr Clients not receiving any advertisements – unapproved / blocked?

August 17, 2013

On a freshly upgraded ConfigMGr 2012 SP1 environment, a customer noticed that machines did not get any advertisements anymore.  I was called in to investigate what happened.

I noticed the following:

– The machines were listed as members of the All Systems Collection.

– An OSD Task Sequence had been deployed to the All Systems Collections, making it available to only Media and PXE (not to configmgr clients).

Still, the machines they mentioned did not pick up any advertisements when booted through PXE.

However, other machines that were part of the All Systems collection, DID get the advertisement.

It turned out that the systems that did not get the advertisements, had not been added to the domain properly. Therefore, they had not automatically been approved in ConfigMgr, and were not allowed to access the ConfigMgr Site.

The analysis

I have reconstructed this in my lab environment, to show you what this looks like.

First, i installed a Windows 7 machine, adding it to a workgroup instead of to the domain. Then installed the ConfigMgr client, using the parameters /SMSMP=<my MP name> and /SMSSITECODE=<name of my ConfigMgr site>.

After this, the machine showed up in ConfigMGr in the All Systems Collection as Windowsclient-3:


Now when you would just look at this, you would think it is a member of the All Systems collection, and therefore would get all the advertisements (or deployments) that are targeted to this collection, right?

Well, no.

Let’s add some more columns to this view; rightclick the title bar, and you get a list of columns you can add to the view:


Let’s add the Approved and Domain columns;

unapproved-3Now we can clearly see that windowsclient-3 is not a member of the domain, and therefore also not approved.

Well, not automatically anyway. This is something we configure in the Site Hierarchie Settings:

unapproved-4As you can see, by default only computers that are member of the same domain, or a trusted domain are automatically approved.

Since the windowsclient-3 machine is not in any domain, but in a workgroup, it is not approved.

With it being “Not approved”, it is also denied access to Site content, like policy and Files.

So, although the system is listed in the All Systems collection, it will not get any Deployments advertised.

If i PXE boot the client:

unapproved-5Sorry, no OSD for you 🙂

On the machine itself, we see the following in the ConfigMgr Client:



On the “Actions”, we can see by the limited number of cycles available, that only the core client is installed, and no policy has been retrieved yet.

If we look through the client log files we see that it can contact the MP (since we specified this during client installation), but it will get no policy from it.

Also, it cannot contact find information about available MPs from Active Directory, since it is not a domain member.

So, the only thing it can do now, is to keep contacting its MP, and hope for Approval 🙂

Now, let’s Approve the client in the ConfigMgr Console, and see what happens.

Rightclick the machine and select “Approve”


Are we sure? :p


Now, a reboot of the client to speed things up, and a Machine Policy Retrieval later, the clients starts working, and then:

unapproved-10Well this looks better 🙂

And there we get the policy assigned to the collections:

unapproved-11See the “Software changes are required” balloon pop up in the corner?

Yes, this is one happy client now 🙂


Powershell for ConfigMgr 2012 – part 1 (introduction)

August 9, 2013

ConfigMgr 2012 comes with a lot of powershell cmdlets to make your life easier.

Since SP1, a whopping 471 of them even!

But how do we access them? There is no shortcut called “PowerShell for ConfigMgr” placed on your desktop after installation of ConfigMgr, we have to do some work for that ourselves.

How to:

First, start the x86 version of Powershell (run as admin).


Since the ConfigMgr Console is 32-bit still, and the powershell cmdlets come with the console, they are also 32-bits.

Then in powershell type: cd “C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin” to get to the proper folder where the ConfigMgr Powershell module is located.


Then we type Import-Module .\ConfigurationManager.psd1 to load the powershell module for Configuration Manager, making all the CmdLets available to us.


Now we can start running the cmdlets. But which are they, and what can we do with them?

For that, let’s first update the help files. Make sure your machine has internet connectivity, so the updated help files can be downloaded from Microsoft;

Type Update-Help

After the help-updates have been downloaded, let’s see which cmdlets we have now for Configuration Manager.

Type get-command -module ConfigurationManager | out-gridview

This will show a nice list of all available ConfigMgr Cmdlets


For a complete list of all the CmdLets, including a brief description of their function click here

You can get more info for each CmdLet by typing get-help <cmdlet>

For instance: get-help Add-CmDeploymentType

Now, we can also launch the PowerShell CmdLets from the ConfigMgr Admin Console!

However, it is very will hidden in my opinion.  Ever seen the little blue arrow on the top-left of the console?



Whoomp, there it is. A x86 Powershell session, started as admin.

Type Y to allow the execution of the script, and off you go.


In the next post, i will discuss some common useful Cmdlets, to create collections and such.


Office 2010 activation fails after SP2 with error 0x80070190

August 3, 2013

After installing SP2 for Office 2010, i was unable to activate the office installation. Although i entered the correct key, it wouldn’t activate, throwing the error “0x80070190” office couldn’t be activated.

Turned out that the solution was to start any of the office programs as admin (run as administrator) and then start the activation. Worked flawless then…

BSOD STOP0x000000d1 bridge.sys Windows 8 Hyper-V

July 23, 2013

I’m running Windows 8 with the Hyper-V Role enabled on my LAB-top.
To connect my VMs to the outside world, i have created two Hyper-V Virtual Switches; one connected to my WiFi adapter, and one connected to the Onboard NIC.
Both connections are bridged, using the “Allow Management operating system to share this network adapter” setting, allowing the Host OS (Windows 8) to also use these interfaces.
This worked fine for me the last couple of months, but today i got a BSOD. 😦
After starting the Crash Analyzer tool, which is part of DaRT (Diagnostics and Recovery Toolset), the cause of the BSOD appeared to be the bridge.sys driver.


This is the driver that provides the functionality for the network bridging that is done when you enable the “Allow the management OS to share this network adapter” in hyper-v.
It seems I’m not the only one that experienced this issue; Marius Sandbu and Henk hoogendoorn also encountered this, and have provided some workarounds (disable bridging on the WiFi nic)

For now, i will continue using the bridging, unless i get more BSODs…

For what it’s worth; i have been running this setup for 3 months now, and i have used the bridging over WiFi and the onboard NIC quite extensively, but have never had any problems with it.

So my question is; why did this start now? Updates? Patches?

Change Max Upload Size WordPress Lighttpd

July 5, 2013

Reminder for self:
edit /etc/php5/cgi/php.ini and set post_max_size = xM to the desired value
restart lighttpd