QuickBooks 2015 silent-unattended install
It’s another year and it’s time for a new version of QuickBooks! I recently had a chance to glance at the QuickBooks 2015 Pro installation and thought I’d try some of my old tricks. I think Intuit has come across my blog and didn’t like what they saw because when attempting the MSI TRANSFORM on QuickBooks 2015 I ran into a new issue. The new issue I ran into revolves around the license and product validation, and it would appear that a hidden new property was added to the MSI. I’m in the process of finalizing my new TRANSFORM, and will be sure to post detailed instructions below later this week for all those that would like to get around this issue.
***UPDATE***11/25/2014
I had some issues with the registration of the application that caused this to take longer. The interesting part about this is that because of this I think I have the transform setup now to register the license, which someone asked about in the 2014 version.
***UPDATE***11/26/2014
I’ll work on providing an easier to read version, but for now I thought it would be best to get something posted.
******* INSTRUCTIONS**********
To start this out you will need to Install QuickBooks onto a workstation.
***I’d recommend that you use a virtual machine or a spare machine (Prefer Virtual Machine – so you can revert to a clean slate***
During the installation QuickBooks generates two log file located at C:\Users\%UserName%\AppData\Local\Temp\
- I’m not sure where this would be generated on a Windows XP machine, but then again XP is end of life.
***You will need to have run through the entire install and registered the Product before continuing.***
These two log files we will be looking at are called
- Quickbooks_15.log
- QuickBooksMSI.log
The first log we want to look at is the QuickBooks_15.Log
- In this log you will want to look for (CTRL+F) ‘Command: INSTALLMANAGER=1’
This line tells us what commands the Setup.exe is passing to the QuickBooks.msi
***’Due to the fact that there are different types of installs I can’t easily say that this will be the same properties for a Standard compared to a profession and is why you really need to look at this line yourself.’***
For my Professional install the following properties were passed that I annotated below.
- Note there were other parameters passed but I really didn’t see a need to modify them
INSTALLMANAGER=1
REBOOT=S
QB_LICENSENUM=XXXX-XXXX-XXXX-XXX
QB_PRODUCTNUM=XXX-XXX
UNIQUE_NAME=pro
ISW_LICENSENUM= ISW_PRODUCTNUM=
PARENTAPP=INSTALLMANAGER
At this point if you were to go into ORCA and build a Transform with these properties you would be able to install QuickBooks, but it would never register or launch correctly. This is at least what I noticed when working on this.
Now what do we do?
Well the other log file ‘QuickBooksMSI.log’ has the rest of the parameters we need.
- In this log you will want to look for (CTRL+F) ‘Property(S): DiskPrompt = QuickBooks installation CD’
This is the start of the properties that are used to configure and install QuickBooks
- If you glance down from this section you will notice that there is a lot of properties, but we are actually going to skip a majority of these because they don’t need to be modified from the default.
- Where we are actually going to start is at (CTRL+F) ‘Property(S): CKBOX_GDS = 0’
- From this point down what you will want to do is go into ORCA and update the Property table to have the value that is listed in the QuickBooksMSI.log
- I did exclude a handful that I didn’t think were required that I’m listing below.
- From this point down what you will want to do is go into ORCA and update the Property table to have the value that is listed in the QuickBooksMSI.log
QBMODE =
SETUPEXENAME =
INSTALLTAXFILES =
ACTION =
MsiUISourceResOnly =
UILevel =
MsiNTProductType =
ISW_LICENSENUM = ISW_PRODUCTNUM=
QBMODE_PRO =
REGISTRATIONNUMBER_PRO =
- The ones I focused on in my MST was the following
Table | Condition | |
LaunchCondition | (PARENTAPP=”INSTALLMANAGER”) OR (QB_MORPH=1) OR (ADDREMOVE) OR (REMOVE=”ALL”) OR (PARENTAPP=”QBPatch”) OR (Installed AND (REMOVE<>”ALL”)) | Drop Row |
Table | Property | Value |
Property | CKBOX_GDS | 2 |
Property | AgreeToLicense | Yes |
Property | QB_LICENSENUM | XXXX-XXXX-XXXX-XXX |
Property | QB_PRODUCTNUM | XXX-XXX |
Property | PARENTAPP | INSTALLMANAGER |
Property | QBMAJORVERSION | 25 |
Property | QbKeyCodeValid | Valid |
Property | STRATUM | standard_stratum |
Property | UNIQUE_NAME | pro |
Property | REBOOT | S |
Property | INSTALLMANAGER | 1 |
Property | BLDSTRATUM | 1 |
Property | SETUPINIPRODUCT | QuickBooks Pro Edition 2015 |
Property | SETUPINIVERSION | 25 |
Property | QBPROANDUP | 1 |
Property | QBVERSION_APP | 25.0 |
Property | QBUPGRADEORNEW | new |
Property | QB_LA | YES |
Property | NUMUSERLICENSE | 1 |
Property | LICENSENUMBER_PRO | XXXX-XXXX-XXXX-XXX |
Property | INSTALLID_PRO | XXX-XXX |
As you can see there were several new Properties added that were not in the prior release. A majority of these properties all revolve around the registration, which is required in order to launch QuickBooks. Due to some prior work with Microsoft Applications Virtualization I knew to look it the V8 folder under ProgramData to see if QuickBooks was registering.
I should note, the reason I posted use a Virtual Machine or Spare machine at the top was I wasn’t always reverting my snap at the top and discovered that QuickBooks was not cleaning up correctly which was causing some issues for me.