HOW do I Create A Dialogue Box in MSI?
Hi Guys,
I need your help please.
I was asked by my supervisor to package an msi " myMsi.msi" and create a dialogue box or message box to check if MS office is installed on the machine or not and then prompt the user for action whether to install office in case it is not there or not to install it in case it is already there.
It sounds a bit challenging to me. Some might say why not install office first and then install the msi normally. The reason is the application I am packaging and which spends time looking for word and excel before starting the install. But if we create this dialogue box, we would have saved time for the application to search all around to find out if word or excel is there or not.
Please I need your help..It is very urgent and I am really a newbie in thie field.
Thanks Guys in advance...Any idea will help
yours.
I need your help please.
I was asked by my supervisor to package an msi " myMsi.msi" and create a dialogue box or message box to check if MS office is installed on the machine or not and then prompt the user for action whether to install office in case it is not there or not to install it in case it is already there.
It sounds a bit challenging to me. Some might say why not install office first and then install the msi normally. The reason is the application I am packaging and which spends time looking for word and excel before starting the install. But if we create this dialogue box, we would have saved time for the application to search all around to find out if word or excel is there or not.
Please I need your help..It is very urgent and I am really a newbie in thie field.
Thanks Guys in advance...Any idea will help
yours.
0 Comments
[ + ] Show comments
Answers (1)
Please log in to answer
Posted by:
spartacus
17 years ago
You can set up a system search in your package, to look for certain registry values that are present when Office is already installed on the machine :
For Office XP, the "Path" registry value will be present in the following key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Common\InstallRoot
For Office 2003, the "Path" registry value will be present in the following key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\InstallRoot
The system search, upon finding the registry value, would set a property which you could then use in a Launch Condition. If the registry value is not found, then the property would be undefined.
Launch conditions are handy because they will create a simple dialog box for you (with a message of your choice) if the installation is not possible due to criteria not being met.
You don't mention which packaging tool you are using - InstallShield, for example, has a wizard that lets you set up a system search and associated launch condition in one go - so below are the manual changes you could make to prevent your package installing if Office 10 is not already installed.
1) Add the following row to the RegLocator table :
Signature_ : NewSignature1
Root : 2
Key : SOFTWARE\MICROSOFT\OFFICE\10.0\COMMON\INSTALLROOT
Name : Path
Type : 2
2) Add the following row to the AppSearch table
Property : OFFICE10INSTALLPATH
Signature_ : NewSignature1
3) Add the following row to the LaunchCondition table
Condition : OFFICE10INSTALLPATH <> ""
Description : Microsoft Office must be installed first before installing this package.
Hope this helps in some way
Spartacus
For Office XP, the "Path" registry value will be present in the following key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Common\InstallRoot
For Office 2003, the "Path" registry value will be present in the following key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\InstallRoot
The system search, upon finding the registry value, would set a property which you could then use in a Launch Condition. If the registry value is not found, then the property would be undefined.
Launch conditions are handy because they will create a simple dialog box for you (with a message of your choice) if the installation is not possible due to criteria not being met.
You don't mention which packaging tool you are using - InstallShield, for example, has a wizard that lets you set up a system search and associated launch condition in one go - so below are the manual changes you could make to prevent your package installing if Office 10 is not already installed.
1) Add the following row to the RegLocator table :
Signature_ : NewSignature1
Root : 2
Key : SOFTWARE\MICROSOFT\OFFICE\10.0\COMMON\INSTALLROOT
Name : Path
Type : 2
2) Add the following row to the AppSearch table
Property : OFFICE10INSTALLPATH
Signature_ : NewSignature1
3) Add the following row to the LaunchCondition table
Condition : OFFICE10INSTALLPATH <> ""
Description : Microsoft Office must be installed first before installing this package.
Hope this helps in some way
Spartacus
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.