Don't want Zenworks to run uninstall twice.
Good morning all,
We are having problems deploying a couple of our packages via Zenworks. Basically we have created some transforms around the vendor supplied MSI. For example, Caliber RM. What is happening is when we use Zenworks to uninstall the application, there are some custom actions (within the vendor MSI) that run in the user space and the uninstall fails because the user that is logged on does not have admin privileges. We have tried all different sorts of workarounds (changing the policy to allow the user to install with elevated privileges, moving the custom actions to the deferred section to run as system, etc.) but it seems like it has been developed to run only as admin.
Unfortunately my team is not in charge of the design or configuration of Zenworks and we have been given an application object template to work with which we can't change. Basically we are using the Zenworks MSI objects. As a workaround we have created a RUNAS script that pulls the encrypted password from the registry and runs the uninstall as an administrator on the machine. This script works great and solves our problem, sort of. Whether we use this RUNAS script as either a pre or post uninstall script, Zenworks will always run it's own msiexec /uninstall command on the MSI package.
So what we would like to do is feed a public property to the MSI that basically tells it to run the uninstall, for example INST_CHECK or something like that. What I have done, which is not pretty, is to have a big IF statement around the whole install that checks for the proper value of INST_CHECK and will only run when we call it using our RUNAS script. I have tested this and it works. It will only kick off our msiexec and will not run the one called from Zenworks. Actually it does kick it off but seeing the property is not the right one, it exits right away.
So all this babbling to ask if anyone is aware of another, less messy, way I can accomplish this? Is there a way to set a launch condition to check for the public property INST_CHECK and if it is not the one I want, exit out of the installation with an exit code of 0 without any error presented to the user. This is the key because we want the uninstall from Zenworks to not run (or fail) but we can't have an error message or anything on the screen seeing this is being deployed to the users. Everything I have tried always kicks out with an error message. Maybe I am missing something.
I apologize for all this info but if for some reason it is not clear what we are trying to do please let me know. Obviously we would prefer to use a different type of Zenworks object where we could have more control over the install/uninstall but unfortunately that is not the case and we have to work with what we have [:(]
There are no answers at this time
so that the conversation will remain readable.