Remove a Public Property Value
Hi I have an app MindManager 6 that allways displays a warning about Closeing MS Products.
I have notice in the Property table the following...
"LOCALIZED_GENERIC_INFORMATION" Then the Value is the Title of the warning box.
How do you remove this property completely I have searched thru all the tables and can only find one reference to it in the "Custom Actions" table..
MMSetManualUninstallRegistryCleanup 51 MMManualUninstallRegistryCleanup [LOCALIZED_GENERIC_INFORMATION]|[LOCALIZED_ERROR_REGISTRYUPDATEERROR]
I would like to disable this feature completly I have made all my other mods required using my new found friend ORCA :-)
I tried to drop the "LOCALIZED_GENERIC_INFORMATION" but this just disable the dialog title.
Regards
I have notice in the Property table the following...
"LOCALIZED_GENERIC_INFORMATION" Then the Value is the Title of the warning box.
How do you remove this property completely I have searched thru all the tables and can only find one reference to it in the "Custom Actions" table..
MMSetManualUninstallRegistryCleanup 51 MMManualUninstallRegistryCleanup [LOCALIZED_GENERIC_INFORMATION]|[LOCALIZED_ERROR_REGISTRYUPDATEERROR]
I would like to disable this feature completly I have made all my other mods required using my new found friend ORCA :-)
I tried to drop the "LOCALIZED_GENERIC_INFORMATION" but this just disable the dialog title.
Regards
0 Comments
[ + ] Show comments
Answers (13)
Please log in to answer
Posted by:
nheim
16 years ago
Posted by:
p4ntb0y
16 years ago
Wow right over my head there.
Ok CA is custom action got that far :-)
On the Custom action "MMSetManualUninstallRegistryCleanup" I took out the Value and Target.
I also dropped the Property entry as well.
But this is still not working for me I better go have a read up about custom actions when and where you can apply them and how they work.
Ok CA is custom action got that far :-)
On the Custom action "MMSetManualUninstallRegistryCleanup" I took out the Value and Target.
I also dropped the Property entry as well.
But this is still not working for me I better go have a read up about custom actions when and where you can apply them and how they work.
Posted by:
anonymous_9363
16 years ago
ORIGINAL: p4ntb0yOf course, you're doing this all in a transform and not directly editing the MSI?
On the Custom action "MMSetManualUninstallRegistryCleanup" I took out the Value and Target.
I also dropped the Property entry as well.
What Nick was saying is that you should set an impossible-to-meet condition on the CA so that it doesn't run.
Your authoring tool will have a UI to make this a little easier but since we don't know what tool you're using so can't direct you specifically, I'll proceed as if you were using Orca, a free d/l (as part of the Windows Installer SDK) which can be used to edit MSI tables directly, with no UI "in the way".
Note that others may have a different modus operandi, but I find this method works for me:
- open the MSI in Orca
- click 'Transform/New Transform'
- In the Property table, create a new property called, say, CA_BYPASS
- Set its value to 1
- Find the 'MMManualUninstallRegistryCleanup' CA in either the 'InstallExecuteSequence' or 'InstallUISequence' table (much more likely to be the former)
- In that table, find the column 'Condition' and, in the row for the CA, type in 'IF CA_BYPASS = 0' (without the single quote marks)
- save the resulting file ('File/Save Transformed As...')
What you've done here is to tell the CA to only run if the property CA_BYPASS has a value of 0. SInce you hard-code that property to be '1', that CA will never run. The reason I use this method is so that if at some time you want to restore that CA, you can just delete the condition or set the property to '0'.
Posted by:
p4ntb0y
16 years ago
Thanks for the indepth explantion.
I am using ORCA and I added a PROPERTY of " CA_BYPASS " with a value of "1 "
I then searched for "'MMManualUninstallRegistryCleanup'" and then found that value in "InstallExecuteSequence" i changed the value of this from "(REMOVE = "ALL") And (Not UPGRADINGPRODUCTCODE)" to " IF CA_BYPASS = 0 "
Now I understand that the custom action that calls "MMSetManualUninstallRegistryCleanup" will then never run as the condition is never met is this right?
I saved my MST and crossed my fingers but I am getting an....
Internal error 2717 "MMSetManualUninstallRegistryCleanup"
I take it that the 2717 error is a bad Custom Action call
sorry about this guys I need to get up to speed on all this
I am using ORCA and I added a PROPERTY of " CA_BYPASS " with a value of "1 "
I then searched for "'MMManualUninstallRegistryCleanup'" and then found that value in "InstallExecuteSequence" i changed the value of this from "(REMOVE = "ALL") And (Not UPGRADINGPRODUCTCODE)" to " IF CA_BYPASS = 0 "
Now I understand that the custom action that calls "MMSetManualUninstallRegistryCleanup" will then never run as the condition is never met is this right?
I saved my MST and crossed my fingers but I am getting an....
Internal error 2717 "MMSetManualUninstallRegistryCleanup"
I take it that the 2717 error is a bad Custom Action call
sorry about this guys I need to get up to speed on all this
Posted by:
spartacus
16 years ago
Posted by:
anonymous_9363
16 years ago
Apologies...my bad. I forgot I was instructing in Orca.
Moving on:
- You should ADD the condition, rather than replacing it. Thus, you should have:
(REMOVE ~= "ALL") And (Not UPGRADINGPRODUCTCODE) And (CA_BYPASS = 0)
- The above existing conditions suggest that the CA in question is only being executed when the product is being uninstalled. I think a different CA is causing your problem. Nevertheless, you can add the same condition (CA_BYPASS = 0) to whichever CA is causing the problem.
Moving on:
- You should ADD the condition, rather than replacing it. Thus, you should have:
(REMOVE ~= "ALL") And (Not UPGRADINGPRODUCTCODE) And (CA_BYPASS = 0)
- The above existing conditions suggest that the CA in question is only being executed when the product is being uninstalled. I think a different CA is causing your problem. Nevertheless, you can add the same condition (CA_BYPASS = 0) to whichever CA is causing the problem.
Posted by:
p4ntb0y
16 years ago
Posted by:
p4ntb0y
16 years ago
Posted by:
nheim
16 years ago
Posted by:
p4ntb0y
16 years ago
this is the title of the warning i get...
"Mindjet MindManager 6 installation warning"
which tells me to "Please close all Microsoft Office Applications"
searching for that string i get "LOCALIZED_ERROR_OFFICEEXEINUSE" in the property with the value being the message I recieve.
I then looked in the Custom actions table and found "MMCheckOfficeEXEInUse" I searched for this in "InstallExecuteSequence" and found this row...
MMCheckOfficeEXEInUse UILevel > "2" 418
So I have to change something here right? do I add to the value with "AND CA_BYPASS=0" ?
More to read up on now about UILevel
"Mindjet MindManager 6 installation warning"
which tells me to "Please close all Microsoft Office Applications"
searching for that string i get "LOCALIZED_ERROR_OFFICEEXEINUSE" in the property with the value being the message I recieve.
I then looked in the Custom actions table and found "MMCheckOfficeEXEInUse" I searched for this in "InstallExecuteSequence" and found this row...
MMCheckOfficeEXEInUse UILevel > "2" 418
So I have to change something here right? do I add to the value with "AND CA_BYPASS=0" ?
More to read up on now about UILevel
Posted by:
nheim
16 years ago
Posted by:
anonymous_9363
16 years ago
ORIGINAL: p4ntb0yThe tools from the two main protagonists (Wsie and InstallShield) in MSI authoring have built-in debuggers in which you can run the project and pause execution by setting breakpoints and so on. If you're not using one of these tools, you can use DebugView. Google for 'DebugView' for details.
whats the best way to track the CA thats causing this?
Also, I *believe* I may have mentioned once or twice before that, IMO, you cannot do this job without a process/file/registry monitor. ProcMon from SysInternals (now subsumed into Microsoft) combines all 3 functions.
Posted by:
p4ntb0y
16 years ago
Well this is working all fine now many thanks!
Thanks for the tips VBScab sysinternals is one of my best tools.
I actually just added "CA_BYPASS=0" I will now know what to do in the future to disable something like this.
Many thansk for the help guys I learn't quite a bit this last week god 2 months ago I did not even know how to do a silent install from msiexec.
Thanks for the tips VBScab sysinternals is one of my best tools.
I actually just added "CA_BYPASS=0" I will now know what to do in the future to disable something like this.
Many thansk for the help guys I learn't quite a bit this last week god 2 months ago I did not even know how to do a silent install from msiexec.
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.