The difference between Java Runtime Environment (JRE) CPU and PSU releases

Currently Oracle did release a Java Runtime Environment (JRE) 8u66 PSU version on java.com. This is unusal and confusing the world because Oracle recommends to the public to use CPU releases and not PSU releases. But what does that mean? Here a short overview about CPU and PSU releases.

CPU Release – Critical Patch Updates
The subsequent CPU release will contain all of the fixes from the current PSU.
Oracle recommends to public users to upgrade to the latest CPU release.

PSU Release – Patch Set Update
Normaly released on Oracle Technology Network (OTN) and not for public.
Java SE Patch Set Updates (PSU) contain all of fixes in the corresponding CPU release, as well as additional non-critical fixes. Java PSU releases should only be used if you are being impacted by one of the additional bugs fixed in that version.

First PSU will be released then CPU will follow.

More details about PSU and CPU releases can be found here
http://www.oracle.com/technetwork/java/javase/cpu-psu-explained-2331472.html

A list of current JRE releases can be found here
https://www.java.com/en/download/faq/release_dates.xml

OTN – Oracle Technology Network
Is the Oracle developer community web site http://www.oracle.com/technetwork

BPR Bundled Patch Release
Don’t mess up with BPR and public releases. These are only available for Java Development Kit (JDK).
JDK BPR are only available as commercial offerings to Oracle customers.

All new in Software Packaging products

Windows 10 is out and all major Software Packaging applications and products have now been updated.

Microsoft
APP-V 5.1 has been released with some nice new features
https://technet.microsoft.com/en-us/library/mt346499.aspx

Flexera
AdminStudio 2015 has been released
http://www.flexerasoftware.com/enterprise/products/application-packaging/adminstudio/

Raynet
RayPack Version 2.0 has been released
https://raynet.de/en/Raynet-Products/RayPack

VMware
VMware Workstation Pro 12.0 has been released
http://www.vmware.com/products/workstation

The simple way how to automate printer settings

The Problem

Printer settings are saved per user in the registry under the following key names: “HKEY_CURRENT_USER\Printers\DevModePerUser” and “HKEY_CURRENT_USER\Printers\DevModes2”. Best practice to be enterprise aware is to redirect those settings in a per machine (for all users) location. The settings will then be the same for every user. Deploying settings per user often needs much more effort to ensure that the settings are present to each user than deploying it per machine.

The Solution

Use the build in system api call in PRINTUI.DLL to export the needed printer settings. As result there will be a configuration file that can be used for automation purposes like command line or Custom Action in a Windows Installer based setup file and the printer settings will be automatically per machine based.

First the Printer settings must be set on a clean machine, for example:
PrinterSettings

Then the settings can be exported by using the following command line:
“C:\Windows\System32\rundll32.exe” PRINTUI.DLL,PrintUIEntry /Ss /n “PrinterName” /a “C:\SettingsFile.dat” /q g d r

The value “PrinterName” is the name of the printer you want to save the settings.
The value “C:\SettingsFile.dat” is the location and files where the printer details will be stored.

To import the settings on a client run the following command line:
“C:\Windows\System32\rundll32.exe” PRINTUI.DLL,PrintUIEntry /Sr /n “PrinterName” /a “C:\SettingsFile.dat” /q g d r

This command line can be used as example as a Windows Installer custom action:

Add the file “SettingsFile.dat” to the installation and create a new custom action at the end of “Execute deferred”:
printersettings

 

Handling App-V File Type Association in Windows 10 and Windows 8

Since Windows 8 there are a lot of standard file type association set per User. For Example the file type of .mp3 is assigned to the Music Player App:

mp3Win8

If you sequence an application which set the file type association for mp3 as standard to the new application, then the App-V client will not override this  standard value mentioned above:

ftawin8

To avoid this, you have to create two single scripts, which have to be implemented in the DeploymentConfiguration.xml but this will only work for Domain Users and not for a local Windows User Account in App-V 5.0 sp2. This Issue has been fixed with App-V 5.0  SP2 HF4. You have to create a script not a single registry file, which should remove the association for the current user because regedit.exe is an elevated process. An elevated process can not be started by a user in an App-V configuration.xml

  1. Create a script which removes classes “OpenWithProgids” registry key called machine.vbs:
    Dim oShell: Set oShell = CreateObject(“Wscript.Shell”)
    Dim aExt, Ext
    aExt = Split(“|.mp3|”, “|”) ‘for more Values use this: (“|.mp3|.mp4|.wma|”, “|”)
    For Each Ext In aExt
    If Ext <> “” Then
    Call oShell.RegDelete(“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\” & Ext & “\OpenWithProgids\”)
    End If
    Next
  2. Create a script, which will remove the the Current User association and adds the required association for your file type (this will only work for VLC):
    Dim oShell: Set oShell = CreateObject(“Wscript.Shell”)
    Dim aExt, Ext
    aExt = Split(“|.mp3|”, “|”) ‘for more Values use this: (“|.mp3|.mp4|.wma|”, “|”)
    For Each Ext In aExt
    If Ext <> “” Then
    Call oShell.RegDelete(“HKEY_CURRENT_USER\SOFTWARE\Classes\” & Ext & “\OpenWithProgids\”)
    Call oShell.RegDelete(“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\” & Ext & “\OpenWithProgids\”)
    Call oShell.RegWrite(“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\” & Ext & “\OpenWithProgids\VLC.” & Ext & “”, 0, “REG_BINARY”)
    Call oShell.RegDelete(“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\” & Ext & “\UserChoice\”)
    End If
    Next
  3.  Import both files into App-V Package
  4. Edit DeploymenConfig.xml:
    <UserScripts>
    <StartVirtualEnvironment RunInVirtualEnvironment=”false”>
    <Path>wscript //B “[{AppVPackageRoot}]\..\Scripts\user.vbs”</Path>
    <Wait RollbackOnError=”true”/>
    </StartVirtualEnvironment>
    </UserScripts>
    <MachineScripts>
    <AddPackage>
    <Path>wscript //B “[{AppVPackageRoot}]\..\Scripts\machine.vbs”</Path>
    <Wait RollbackOnError=”true” Timeout=”30″/>
    </AddPackage>
    </MachineScripts>

Take care, that application has to be started once by each user, after that the file types are associated to your application.

For more information about package scripts, follow this guide: SHIMSs and App-V 5.0

For more information about file type associations in Windows 8, follow this guide: Windows 8: Associate a file Type or protocol with a specific app using GPO

ReSign VSTO Plugin

To silent install a vsto Office Plug-In it is required that the whole plug-in is signed with a valid certificate. If the certificate is out of date, you will  get this message during installation:

Unknown PublisherEven If you extract the certificate and install it to  the TrustedPublisher Store on the Current Computer you will get no response and the plug-in will not be installed. If you have a look to the event viewer you’ll see this error message:

Event Error

It is necessary to install the VSTO-Plugin silently without any warning, if you want to deploy the Plugin. This is not possible, if the certificate is out of date. The Microsoft Visual Studio contains the mage-tool, that can sign the VSTO and manifest file. You have to resign the DLL, manifest and VSTO files. Follow the following procedure step by step to resign the Plugin properly:

  1. Sign the DLL  with your custom certificate.
  2. Use mageui.exe or mage.exe to sign the Manifest file. Just open the the Manifest and populate the files.
  3. Remove the VSTO file from the Application files table.
  4. Save the manifest file. You will get an error, that the original signer could not be found, you can safely ignore this massage and sign the manifest with your .pfx certificate.

After that, you have to sign the VSTO file with the mageui tool. Open the VSTO and  go to “Application Reference”.

vsto

Select your fresh signed manifest file, save the project and add your certificate information into the signing options.

The vsto plugin is signed now with a valid certificate and can be installed silently.

Professionally remove Excel Add-Ins

The Problem

After uninstalling an application that contains a per user based Excel Add-In (.xlam or .xla), you should start Excel to double-check if an warning message like this appears:

The Reason

Excel installs and registers all automation Add-Ins by default in a per user based location, if they are installed via a script or the Excel GUI.

During uninstall process of an application that has installed such an Excel Add-In the process can only uninstall the registration information of this Add-In in the user context that executes the uninstall process. That means if the application has been used by different users, there will be the registration part left in the other user profiles. Excel will try to load the Excel Add-In, even if the file it self has been removed and this will prompt the warning message.

The Solution

Remove the Excel Add-In registration information from all user profiles. This can be done by using Microsoft Active Setup as the the script we use needs to be executed on each user that operates on the workstation.

This is the location where the Excel Add-In registration information will be stored

[HKEY_CURRENT_USER\Software\Microsoft\Office[Version]\Excel\Options]

The Script

The script is a VBScript.

It needs the full path to the Add-In as an argument.

Example: RemoveExcelAddin.vbs “C:\Hyperion\SmartView\Bin\HsTbar.xla”

This is the source code of the script:

Dim oXL, oAddin
Set oXL = CreateObject(“Excel.Application”)
strPath = WScript.Arguments.Item(0)
oXL.Workbooks.Add
Set oAddin = oXL.AddIns.Add(strPath, False)
oAddin.Installed = False
oXL.Quit
Set oAddin = Nothing
Set oXL = Nothing

Implementation in the Package (32bit)

You need to add the file “RemoveExcelAddin.vbs” to a folder at your choice in the package. Exp. “C:\Windows\System32”.

The component which contains this file, must have the following settings:
Comp

You need to implement a Custom Action “New vbscript stored in custom action” to the package:Cust

The script will add an “Active Setup” to the computer when the product is uninstalling:

Set WshShell = CreateObject(“WScript.Shell”)
WshShell.RegWrite “HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\RemoveExcelAddon\”, “RemoveAddon”, “REG_SZ”
WshShell.RegWrite “HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\RemoveExcelAddon\StubPath”, “C:\Windows\System32\RemoveExcelAddin.vbs ” & Chr(34) & “C:\Hyperion\SmartView\Bin\HsTbar.xla” & Chr(34), “REG_SZ”
Cust2

The Custom Action must have the following properties:
Cust1

The 64bit Custom Action must have the following settings:
cust3

 

Hotfix Package 1 for Microsoft Application Virtualization 5.0 Service Pack 3 is now available

As announced by Microsoft on the 18th March the hotfix Package 1 for App-V 5.0 Sp3 is now available

The following issues were addressed:

Issue 1: Virtualized Adobe Acrobat running through an App-V Client on Windows 7 crashes or stops responding because of DLL issues

Virtualized Adobe Acrobat running on Windows 7 may crash or stop responding because of an interoperability issue between App-V and Adobe. This issue causes App-V to sometimes load multiple copies of the same DLL from different locations. This, in turn, causes the virtual Adobe Acrobat application to crash or stop responding when certain operations are performed. This issue is fixed in this hotfix package.

Issue 2: Stop error is triggered by DLL issues when an App-V Client tries to load Adobe Acrobat packages

Some products, such as Adobe Acrobat, use DLLs that have file name extensions other than .dll. When an App-V Client loads virtualized packages of these applications, it does not recognize these files as DLLs and does not exclude them from the copy-on-write subsystem. A Stop error may occur when a package is run that uses these DLLs.

The hotfix package is available as download here:

https://support.microsoft.com/en-us/kb/3039022

Source: The Official Microsoft App-V Team Blog

InstallShield 2014 SP1 for AdminStudio

2015-02-03 16_11_06-About InstallShield

As some customers already have noted Flexera has released Service Pack 1 for InstallShield 2014 back in December 2014.

In contrast to previous updates Flexera did not release a separate update for the AdminStudio 2014 Suite.

Therefore you need to run the InstallShield 2014 Sp1 setup to update your current AdminStudio Installation.

The software (update) can be obtained at the “Flexera Product and License Center”.

The release notes are available here.

 

Regards,

SPA Team

 

 

 

Running Wise Package Studio on Windows 10 and SQL Server 2014

 

Wise Package Studio is now for multiple years End of Life but it still have a solid base of user using it.

Is Wise Package Studio 8.0 MR1 compatible with Windows 10 and Microsoft SQL Server 14? This question has been raised several times to me – so here is my basic setup and product functionality test.

The Installation part

It took some minutes until the Welcome windows did appear but finally we are good to start the product without any error messages.

2014-12-04_09h52_12

For my test I will run a full Professional Installation (Server Part) on a local Windows 10 Build.

2014-12-04_09h55_44

The Setup did run fast and without any error messages.

2014-12-04_09h59_06

The Symantec Program Menu Folder was not shown until a restart

2014-12-04_10h08_04

I noticed a long delay in starting up the Wise Repository Manager, but finally we are ready to setup the Wise Share Point.

All three Databases have been created on my local Windows 2014 SQL Server without errors and the Software Repository has been setup without problems but it did also took a long time to processing the share point databases.

2014-12-04_11h42_58     2014-12-04_11h43_50

 

The basic Tool Test

The Setup Capture did scan the OS fast as known from Wise Solutions

2014-12-04_11h52_48

 

The Windows Installer Editor is also working fine, all three views (Installation Expert, MSI Script and Setup Editor) are working without display problems.

2014-12-04_12h40_55

Compiling the repackaged application works also without delay or problems.

2014-12-04_12h39_37

A quick test of the Software Manager shows also no problems. The Wise Task Manager works as expected.

2014-12-04_12h45_19

Last but not least creating with Wise Script executable to see if a 64-Bit registry key will be set.

2014-12-04_12h47_31

and it works

2014-12-04_12h49_51

 

The final result

Of course this was a quick test that did not cover all Wise applications and all features.

But I did not have any major issues or any function/routine that did fail or return an error message.

 

Upgrade to Java Runtime 8 now

 

 

Finally after a long developer preview phase Oracle did made it’s Runtime Version 8 to the default download on java.com

This version is also available as Direct Package Download from Ontrex Software Package Atelier – more informations about our DPD service