/build/static/layout/Breadcrumb_cap_w.png

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.

0 Comments   [ + ] Show comments

Answers (3)

Posted by: MSIPackager 15 years ago
3rd Degree Black Belt
0
VersionNT alone isn't a valid condition is it?

e.g VersionNT=400 is...

Even easier, try: NOT Installed

Posted by: kristjan84 15 years ago
Orange Belt
0
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]
Posted by: spartacus 15 years ago
Black Belt
0
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.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ