Execute file from installation
Im trying to run an exe file from the installer. The file runs fine from the installer. But if I try to run the file based on a condition, I always get an error 2717. Even if I have a simple contition such as VersionNT.
Anyone know why this might be.
Anyone know why this might be.
0 Comments
[ + ] Show comments
Answers (3)
Please log in to answer
Posted by:
MSIPackager
15 years ago
Posted by:
kristjan84
15 years ago
what im trying to do is check if older versions of our software is installed, and if it is, run an executable which will remove it. So I have created a property called OLD_INSTALLED and set it to 0. Then I use the AppSearch and RegLocator table to look in the registry. If it finds the key in the registry, it will set OLD_INSTALLED as the value from the registry, and then I want to run the executable. So should the following condition not work? OLD_INSTALLED >< "0".
Im using WISE if that makes any difference [:D]
Im using WISE if that makes any difference [:D]
Posted by:
spartacus
15 years ago
ORIGINAL:MSIPackager
VersionNT alone isn't a valid condition is it?
Well it can be a valid condition if you are not bothered about the actual contents of the property, just whether it is set or not - the condition VersionNT on its own evaluates to TRUE on a system running any of the NT-family Operating Systems.
ORIGINAL: kristjan84
what im trying to do is check if older versions of our software is installed, and if it is, run an executable which will remove it. So I have created a property called OLD_INSTALLED and set it to 0. Then I use the AppSearch and RegLocator table to look in the registry. If it finds the key in the registry, it will set OLD_INSTALLED as the value from the registry, and then I want to run the executable. So should the following condition not work? OLD_INSTALLED >< "0".
Im using WISE if that makes any difference [:D]
First thing to point out is that if your old version of your software was deployed as an MSI, you should really be using the Upgrade table to achieve the uninstallation.
Assuming your old version of the software was non-MSI, I can see one potential flaw in your proposed method, namely that you are using AppSearch / RegLocator table to see if a key exists in the registry. I believe it is not possible to use the RegLocator table as a check for just a key. Instead, you'll have to search for either a value in the key if there are any available, or if not, the default value for the key.
Error 2717 translates as
'Bad action condition or error calling custom action '[2]'
(as you are no doubt aware), and looking at your condition
[font="courier new"]OLD_INSTALLED >< "0"
it seems OK (though purely through personal preference I use <> rather than ><)
You could always trying removing the OLD_INSTALLED property from the Property Table altogether and just set your condition as
[font="courier new"]OLD_INSTALLED
this property will evaluate to TRUE if your AppSearch successfully found the old version and will be undefined (and by implication, FALSE) under any other circumstances.
If all this fails, then maybe there is a hint in the latter part of the description for Error 2717, namely
[font="courier new"]... or error calling custom action
hmmmm ? [8|]
Regards,
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.