Blog: Windows 8.1

We have been working on updating a customer’s network to a new set of servers and PCs. The customer purchased Open License licenses for Windows 8.1 so we could image the PCs, rather than setting each one up individually. We decided to use the Microsoft Deployment Toolkit to deploy these images over the network rather than deploying the image via a USB/CD.
 
We installed a few applications that did not have server components initially. After the server components had been upgraded, we installed the client components for these pieces of software on the PC we were using to build our image. We then installed Microsoft updates. I had planned to start imaging the PC the next morning, but when I arrived the error message below was on the screen.



I received buffer overflow messages when troubleshooting with Process Monitoring and errors like this appeared in the Event Viewer:
 


I thought the problem might be with the image PC, so I rebuilt the image. After installing updates on the second PC and letting it sit overnight, the second PC started giving me the same errors. I knew this was not a problem before the second set of software was installed and updates were applied. I started looking into all of the updates that were installed, but realized this was going to take a long time because there were over 100 updates that had been installed. I decided to rebuild the image again, but not install updates. After doing this, the same error occurred after letting the PC sit powered on for about five hours.
 
After doing some testing, I found that it was only Windows applications that would give these error messages (PowerShell, Internet Explorer, Notepad, etc.) I started looking at the programs that were installed in the second set of updates instead. My theory was that one of these applications could be causing the problems and that it was likely that the program hooked a Windows process somehow. The only software that was installed that met this criteria was PrintAudit, which is a program that tracks print jobs so the cost of printing files can be passed on to the customer. Having three PCs to test on, I uninstalled PrintAudit from one of the PCs, waited overnight, and did not have any errors the next morning. I also built a Windows 8.1 VM and only installed PrintAudit. The VM with only PrintAudit installed gave the same errors after about 5 hours. Uninstalling the PrintAudit client would return the PC to a working condition.
 
I contacted PrintAudit tech support and they said that Windows 8.1 was supported and that they had others customers running Windows 8.1. During this time I found that adding one of the applications that was throwing the errors to the PrintAudit exclusion list would cause that application to run properly. I also contacted Microsoft and they examined the PC. They did not find any errors in the OS and said the problem was with the PrintAudit software.
 
I contacted PrintAudit tech support again and they attempted to recreate the problem, but were unable to do so. Both PrintAudit and myself were running Windows 8.1 on 64 bit virtual machines. After thinking about what could be different in my setup and the setup at PrintAudit tech support, I realized that the license key on my VMs were not activated. They were not activated as I did not want to use an activation on a machine that was going to get reimaged. I asked PrintAudit tech support if their VM was licensed and they said it was. As a test, I activated my testing VM, waiting overnight, and did not have any problems the next morning.
 
This shows that there are some Windows processes that do not work on an unactivated copy of Windows 8.1. There is some evidence of this on the Internet, but Microsoft has not confirmed nor provided a list of things that do not work on an unactivated copy of Windows 8.1.


 

We had users testing with 2012 R2 Remote Desktop servers recently, and we came across a problem with viewing multiple pages in .tif files using the default viewer.  For this customer we decided to use a third party photo viewer utility called Irfanview.
 
Naturally, the next step was setting the .tif “open with” settings to use the new viewer for all users.  We came across a few articles about implementing User Group Policy Preferences –> Folder Option –> Open With settings.  When we tried to configure it, it didn’t change anything on 2012 R2 server. This worked in previous versions of Windows.
 
After more research we found this is now done by creating a default associations configuration file using DISM and then creating a GPO to use the resultant XML file.
 
1. Set the file associations that you need.
2. Export the settings using command “Dism /Online /Export-DefaultAppAssociations:<path>\default_associations.xml”.
3. Create a GPO and configure the Computer configuration\Administrative templates\Windows Components\File Explorer\Set a default associations configuration file.  Specify the path to the XML file you created.  This will change the registry settings in HKLM\Software\Policies\Microsoft\Windows\System\DefaultAssociationsConfiguration to the specified XML file.
 
The following is an example of the associations in the XML configuration that I used:
 
<?xml version="1.0" encoding="UTF-8"?>
<DefaultAssociations>
  <Association Identifier=".gif" ProgId="IrfanView.GIF" ApplicationName="IrfanView" />
  <Association Identifier=".jpe" ProgId="IrfanView.JPG" ApplicationName="IrfanView" />
  <Association Identifier=".jpg" ProgId="IrfanView.JPG" ApplicationName="IrfanView" />
  <Association Identifier=".jpeg" ProgId="IrfanView.JPG" ApplicationName="IrfanView" />
  <Association Identifier=".png" ProgId="IrfanView.PNG" ApplicationName="IrfanView" />
  <Association Identifier=".tif" ProgId="IrfanView.TIF" ApplicationName="IrfanView" />
  <Association Identifier=".tiff" ProgId="IrfanView.TIF" ApplicationName="IrfanView" />
</DefaultAssociations>


 

By default in Windows 8 and 8.1 after you lock your screen, the display will timeout and power off after 1 minute of no activity, requiring you to wake the screen to login again. [more]There is no way to modify this through the GUI by default. You can, however, add a registry key to enable control of this setting. The reference site below has .reg files you can download and use to make the registry change or you can make the change manually if you are familiar with modifying the registry. If going the manual route, set the DWORD value Attributes to 2 (a value of 1 hides the entry). This value controls the visibility of the option ‘Console lock display off timeout’ under Advanced Power Settings.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\7516b95f-f776-4464-8c53-06167f40cc99\8EC4B3A5-6868-48c2-BE75-4F3044BE88A7\Attributes

To modify the timeout setting, go to Power Options, choose ‘Change Plan Settings’, and then choose ‘Change advanced power settings’. Under Display, you will now see the option ‘Console lock display off timeout’.

Reference: http://www.eightforums.com/tutorials/8267-power-options-add-console-lock-display-off-timeout.html 


 

Microsoft updated the online images in April 2014 to include the ‘Update 1’ (KB2919355) for Server 2012R2 and 8.1. It is probably best to use these updated images where possible because there have been issues installing this very large update as a stand-alone patch. Also note that Microsoft has begun periodic updates to the online images of their current product versions. The current 2012R2 image is now over 5GB and includes updates thru Nov 2014.