Author Archives: Stefan Hotan

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

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

Wise Script requires a higher edition

wis

The last version of Wise Script Editor has been released by Flexera Software in the year 2012.

It is a stand-alone installer called WiseScript Package Editor.msi and can be downloaded here.

In order to run the Wise Script Editor you must run AdminStudio for Symantec otherwise you will get the following message:

Running Wise Script Editor with AdminStudio from Flexera will return ‘This feature requires a higher edition of AdminStudio’.

WIS requires a higher version

AdminStudio for Symantec is not anymore available, it has been discontinued by Flexera Software and  replaced with AdminStudio 2013 from Flexera Software.

The Wise Script Editor  is not  part of AdminStudio 2013 from Flexera Software. If you have purchased AdminStudio for Symantec it’s possible to get the correct Wise Script Editor.

Simply use the Flexera Customer Support to submit a request for obtaining the Wise Script Editor.

Nullsoft Winamp shutdown

Download (2)

 

Nullsoft known as vendor in software packaging for its NSIS, a leading open source installation system, did announce to set the product Winamp end of life.

Winamp has been sold to AOL in 1999 and Nullsoft became a division in AOL.

The Winamp shutdown does not affect the NSIS software but it’s support forum.

 

 

Rocket speed for large MSI packages

The Microsoft Windows Installer Technology has many different possibilities to speed your software package installation time.

rocket

MSIFASTINSTALL

The first obvious property MSIFASTINSTALL=0 can be set and will reduce the installation time. It’s a property introduced by Windows Installer version 5.0

Here the list of available values – good to see what options are part of the default setting

0 Default value
1 No system restore point is saved for this installation
2 Perform only File Costing and skip checking other costs
4 Reduce the frequency of progress messages

DISABLEROLLBACK

The second property DISABLEROLLBACK=1 is a real installation speed improver for large Windows Installer packages. This property is not well known as it’s property name does not reflect that it will enhance the installation speed aswell.

As this property will disable the rollback function, use it on software packages that have been tested in your target OS environment to make sure that the limited rollback functionality will not used.

MEDIA TYPE

Is your installation still not fast enough? Check the source files! Best performance can be achieved by using external compressed cab files.

anasys

LOG FILES

Do not create log files! Log files will slow down your installation. Some vendor installation are using the MsiLogging property that will crates log files. Use a transform file and remove this property from the property table.

Ansys

Insane but a verbose log file for a large installation can reach very fast unbelievable sizes

At the end combining all small possibilities can rocket speed your installation time. But bear in mind that Windows Installer based setup files will take some time when reaching > 30’000 file resources even using all possible speed enhancement tricks.

The future of Public User Folder

Since Microsoft did bring the Public User folder to its operating system a Software Developer has officially two locations available to install
files for all users for editing pruposes. But there is one big difference that will make one of them obsolete for the future.

First Location – Old school location %ALLUSERSPROFILE%

Default Location: C:ProgramData<Vendor><Product>

Second Location – The youngest %PUBLIC% location

Also konwn as CSIDL_COMMON_DOCUMENTS
Default Location: C:UsresPublic<Vendor><Product>

The Big Difference since Windows Vista

An application is usualy executed with standard user rights, therefore the Program Files folder is not a location to creating or modifying files.
In fact the Public and All Users folders are used when a central location for create/modify files aktion for an application is needed. 

But did you know that files created in All Users folder can not be modified by a second user? That’s right you can test it easily by creating a file in All Users folder and then try it to modify it with another user account with standard user rights – it will not be possible to overwrite it because only the creator/owner of the file has change/full rights. In fact this is not  well known, as all users will be able to create new files, but modifying a file with another user account is not possible.

How ever this behaviour is valid for Windows Vista and newer Windows Operating systems but not for Windows XP. In Windows XP there is no location available that would make it possible to modify a file for all users. In Windows XP you have to use a tool like SetACL.exe or using Flexera InstallShield – Application Data – Files and folders View

In Files and Folders view you can edit the permissions for Files and Folder. The following setting will make it possible that all ‘Users’ will be able to modify the files in All Users location.

2013-04-03_14h38_41

When using InstallShield Editor make sure that Locked-Down Permissions are set to Custom InstallShield handling:

2013-04-03_14h32_28

The Public folder instead will also allow you to modify the files created by other users, and this fact will make the All Users folder obsolete for the future. If you are a software developer, the public folder will be your preferred location for files that needs to be modified by all users without modifying the operating systems standard security settings.

Regards,

SPA Team

Lets talk about Ghost Repair

A side effect of Windows Installer Entry-Points can cause the Windows Installer to repair an application that was not even target to be run from the launched process.

MSIGhostRepairEventLog

If the event log shows a warning about an application that has not been launched then this article could bring some light into the dark.

A ghost repair will be started by a process that in general uses a com object like an activex object.
The binary file of this object has been installed by a windows installer based setup (MSI).
In this article I did decide to show a ghost repair based on the following windows scripting host file:

MSIGhostRepairvbs

The following diagram explains in short the ghost repair in a simple way:

MSIGhostRepair

 

1. A process will call a com object in this case it’s a windows scripting host file
2.  cscript.exe is executing an activex object
3. The Dll-Loader will now handle the registry read request to inizialize the ocx or dll file
4. In the registry the HotInstaller.HotCom Programmatic Identifier will be read in order to get it’s CLASS ID
5. In the registry the InprocServer32 will be read from the related CLASS ID
6. The Dll-Loader process is detecting an InprocServer32 value in InprocServer32 Key that holds a DarwinDescriptor
7. The DarwinDescriptor holds Windows Installer Details: ProductID, Feature that Installed this file, ComponentCode
8. Enumerates all related Windows Installer Features (Feature in DarwinDescriptor and all it’s parent Features) and checks all compontents key-pahts of the enumerated features for it’s existance
9. If a key path is missing, the ghost repair will repair the product that was hold in the DarwinDescriptor.
10. If everything is fine, the Key-Path of the component found in the DarwinDescriptor will be loaded into the memory
11 and 12. cscript.exe is using the activex object that is now available in the memory

Some technical details

Point 6. where the DLL-Loader detects the darwin descriptor – this value will be genereated by using the Class table:

After running the setup, the class entry will show an additional key with the name InprocServer32 and it’s value will hold ProductCode, Feature and ComponentCode from the Windows Installer based setup.

Point 8 – checks component key paths for it existence – this is the point where the Setup Design of the installed product will cause the ghost repair. In most cases it’s the combination of Current User Registry Keys and a shared component based on COM technology. Installations where ressources in a flat feature structure are installed will cause a ghost repair because all key paths of the target feature and parent features will be checked for its existance. If one key path is missing, the windows installer will start a self repair process.

This is a simple flat feature setup desing that is able to cause a ghost repair.

GhostRepairSetupDesign

How to fix the ghost repair issue:

There are muliple ways to fix this issue.

The most common way to fix this issue is to enhance the setup design with shared component awareness. Separate the shared components into a new root feature.

GhostRepairAdvancedSetupDesign

Another way would be to delete the darwin descriptor from each operating system that is target of the issue.

1. Deleting the InprocServer32 key with the darwin descriptor value will 2. fallback the DLL-Loader to the standard initialisation way without windows installer technology

GhostRepairFix

This may only be a workaround, as a repair or reinstallation of the product will recreate the darwin descriptor.

App-DNA acquired by Citrix

Another breaking news did hit the Software Packaging market.

Citrix Enters into agreement to acquire App-DNA.

App-DNA will operate as a new product group in the Citrix Desktop and Apps team.

This information has been shared by an info email from Mike Welling from App-DNA.

Read the full story at http://www.citrix.com/English/NE/news/news.asp?newsID=2317537