Software Deployment Question

Program Entry Point - Self Heal

04/06/2009 4725 views
Hi there,

Pardon my ignorance.. With Adobe Reader 9.1

I've created a MST file from the Adobe Customisation Wizard 9 and open it with Installshield.

I need to insert a registry key into HKCU for every user profiles (HKCU\Software\Adobe\Acrobat Reader\9.0\FormsPrefs\bRuntimeHighlight = DWORD 0).
I can do an active setup for that but I would like to have a crack at the self-repair for this package.

While not all users will click on the Start Menu and Adobe Reader 9.0 (which I can just advertise the menu item) They could double click on a PDF file or download a PDF file from the web and open it in the browser.

I had a look at the file extension table and it has the following extensions.


All of them associate with Reader_Bin_AcroRd32.exe component.

How do you cause a self-repair when AcroRd32.exe is executed / is called in this instance?

Any help is very much appreciated.
0 Comments   [ + ] Show comments


Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

All Answers

In addition to advertised shortcuts, file associations are also entry points for applications and can trigger self heals. If you create your HKCU entry under the same feature that the pdx file association is created under (as an example) you'll notice that when you try to open a *.pdx file (create a bogus one whatever.pdx) it will self heal and create your entry.

So, you could try to create a .pdf file association so that whenver a .pdf is ran, it will trigger the self heal and you're good to go.

Best of luck!
Answered 04/06/2009 by: jcarri06
Senior Purple Belt

If you want a self-check to occur when a PDF is opened in a ex. Internet Explorer you would need to make sure the Registration information for AcroIEHelper.dll, AcroPDF.dll or pdfshell.dll (don't know which one but all three is used as ActiveX components) is advertised and not through the Registry table as they currently are.

If the advertised file association is correctly "setup" then a self-check should also occur when any associated file-type is triggered.
Answered 04/06/2009 by: AngelD
Red Belt

you would need to make sure the Registration information <snip> is advertised and not through the Registry table as they currently are.I've read here that the MSI was bad but is this for real, Kim?!? I think Adobe is determined to hit the No. 1 spot for Worst MSI.
Answered 04/07/2009 by: VBScab
Red Belt

I just took a quick look and that is what I saw, I could be wrong.....NAAAA [;)]
Adobe has always been a good candidate for this spot, haven't they!
Answered 04/07/2009 by: AngelD
Red Belt

Hi AngelD,

That's what I couldn't figure out and I hope you can give me some direction.

One of the feature is "ReaderBrowserIntergration" and 4 components.

I go through all the options but couldn't find a place to ensure they are advertise in InstallSheild2009.
Do you know where in InstallShield I enable this? The feature is currently set to Allow Advertise. Am I looking at the right place?

Allow Advertise

Enables advertisement on this feature. Although advertisement is allowed, it is not the default option when the installation is run.

Favor Advertise

The feature is advertised by default. End users can change the advertisement option for a feature in Custom Setup dialog.

Disallow Advertise

Advertising is not allowed for this feature. End users cannot elect to have the feature advertised in the Custom Setup dialog.

Disable Advertise if Not Supported

Advertisement works only on systems with Internet Explorer 4.01 or later. If the target system does not meet this criterion, advertising is not allowed. If the target system can support advertisement, advertising is allowed.
Answered 04/07/2009 by: ahcash
Orange Belt

Do you know where in InstallShield I enable this? There's nothing in IS (or WPS, come to that) that makes it easy to accomplish this. That's what makes the difference between being a packager, as opposed to someone who knows how to drive IS or WPS.

You need to determine which registry entries are associated with the DLLs in question and move them from the Registry table to the relevant advertising tables e.g. Class, Extension, etc. This won't be an easy exercise. You could start by using the IS tools to extract the COM information from those DLLs into .REG files. Then, use the contents of those files to determine what you can delete from the Registry table. Once you've done that, select to import the .REGs and, when prompted (if prompted - I can't recall if IS's default is to use the proper tables...) elect to use the advertising tables rather than the Registry table.

Once you've done that, prepare your proposal to send to Adobe with your price for selling them a proper MSI.
Answered 04/08/2009 by: VBScab
Red Belt

Have you ever actually done that VB?

Always thought about it but never done it hehe.

Answered 04/08/2009 by: Inabus
Second Degree Green Belt

Have you ever actually done that VB?What, approached vendors with my MSIs? I have, yes. I had some discussions with some marketing dweeb at IBM a few years ago but he left and it died. I've also had lots of emails casting aspertions about my abilities over the combined force of [insert vendor name here]'s development teams. See, the thing is, vendors are never wrong. Their installs are perfect, their design decisions beyond reproach. As you know already, of course.
Answered 04/08/2009 by: VBScab
Red Belt

Paul if you track down PGiesenberg (sorry if I spelt it wrong) he has written code to deal with this.

Last I checked it seemed to work ok, but I never did any thorough testing with it. He seems like a pretty smart felllow.
Answered 04/08/2009 by: jmcfadyen
5th Degree Black Belt

Sorry, yeh was talking about contacting a vendor and saying, your msi is naff use mine :)

Answered 04/09/2009 by: Inabus
Second Degree Green Belt

As repackagers we get a limited view of what issues the Software Development cycle offers.

I have been on both sides of the fence now and I can assure you the issues we face repackaging are a somewhat limited view of the SDLC world.

Even if your MSI is better they would still need to find a way to automate the creation of such an MSI using something like WiX. Daily builds and version control add an interesting layer of complexity over the whole situation.

I recently starting contacting vendors about their somewhat sloppy approach to MSI's. Some is received well some completely ignored from version to version.
Answered 04/11/2009 by: jmcfadyen
5th Degree Black Belt

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