Sometimes after making some changes to a product, either updating assemblies or adding or removing assemblies, an installer fails to update a previous version. After running the installer, no errors or warnings are produced but the program files remain unchanged. If this happens the best solution I’ve found is to configure InstallShield to perform a major product upgrade.
To configure a major upgrade, you need to do the following in InstallShield:-
1. Configure an upgrade in the Upgrades node under the main Media node in the Installation Designer …

a. First, right-click on the Upgrade Windows Installer Setup node and add a new major upgrade. Make sure that the major upgrade setting Products Sharing my Upgrade Code is selected.

b. Click on the Upgrade Windows Installer Setup node and make sure the option to uninstall the old setup is selected.


2. Change the Product Code GUID via the Product Properties view under the main Installation Information/ General Information node. Note: DO NOT CHANGE the Upgrade Code – the installer will use this to automatically uninstall the previous version of the product.

3. In the Summary Information Stream view, update the Package Code GUID.

3. Then rebuild your installer and test it out. Your installation should now be upgraded properly.
One of the main things added to version 3 of SliQ Invoicing Plus was the ability to create purchase orders. The new purchase order feature lets users create POs in a similar way to invoices and quotes. As well as storing a list of purchase orders already raised, version 3 also lets you store a list of suppliers with their addresses and contact details. When adding items to the purchase orders, you can optionally choose to add the items as standard products into SliQ’s product database. When items such as suppliers and products are stored in SliQ’s database, they can easily be reselected when editing a new PO – just enter the first few characters of a supplier name for example, and SliQ will autofill the remaining part of the supplier’s name as well as include the correct address details on the PO.
After a number of months in development, SliQ Invoicing Plus V3 has been released.
The new version includes a number of features requested by our customers including:-
- Support for Purchase Orders and Supplier Data
- Optional Password Protection on Company Files
- Tax or VAT Summary tables on invoice templates
Over the next few months we have a new development plan for SliQ Invoicing and will be adding a number of new features into version 3 on a one or two month release cycle into the middle of next year.
As with previous versions, version 3 is available for a one-off price and includes a free 30 day trial. V3 is 100% compatible with V2 and will automatically import and convert all data and settings from V2 when installed on an existing user’s PC.
For more information on the new features in version 3, check out our Release History page.
If your application will not send emails using Windows Mail on Windows Vista, it’s worth checking if Windows Mail is set as the default email client. To check if Windows Mail is set as the default:
- Run Windows Mail by clicking Vista’s Start button then choosing All Programs. Then click on Windows Mail.
- When Windows Mail appears, click on its Tools menu and choose Options.
- In the General tab, look under the Default Messaging Programs section at the bootm. If the Make Default button next to “This application is the default Mail handler” is checked, Windows Mail should be the default email client on the PC.
- If the Make Default button is enabled, press it to make Windows Mail the default on your PC.
- Click OK to close the Options dialog.
It’s also worth checking the default settings in Vista’s start menu …
- Click on Vista’s Start button then choose the Default Programs option.
- Choose the Set your default programs option.
- In the window that appears, choose Windows Mail.
- Click the Set this program as default option that appears on the bottom right of the window.
After following the procedures above, if Windows Mail should work properly when another application on your PC uses Window’s Simple MAPI service to send emails.
I’ve been writing a new webpage that calculates the time left before a user license period expires. I wanted to display the time as a countdown of the number of days left before the license runs out. I couldn’t find an off-the-shelf PHP function to do the job so I quickly wrote the function below.
/* This function takes a PHP time value and returns the duration as an array
with 4 elements -
element 0 = days
element 1 = hours
element 2 = minutes
element 3 = seconds
*/
function DurationInDHMS($timeduration)
{
$days = floor($timeduration / 86400);
$timeduration = $timeduration - ($days * 86400);
$hours = floor($timeduration / 3600);
$timeduration = $timeduration - ($hours * 3600);
$minutes = floor($timeduration / 60);
$seconds = $timeduration - ($minutes * 60);
return array($days, $hours, $minutes, $seconds);
}