Program Entry Point - Self Heal
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.
fdf
xfdf
xdp
pdx
api
secstore
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.
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.
fdf
xfdf
xdp
pdx
api
secstore
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
Answers (11)
Please log in to answer
Posted by:
jcarri06
15 years ago
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!
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!
Posted by:
AngelD
15 years ago
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.
If the advertised file association is correctly "setup" then a self-check should also occur when any associated file-type is triggered.
Posted by:
anonymous_9363
15 years ago
Posted by:
AngelD
15 years ago
Posted by:
ahcash
15 years ago
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.
ActiveX_AcroIEHelper.dll
ActiveX_AcroIEHelperShim.dll
ActiveX_AcroPDF.dll
Browser.
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.
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.
ActiveX_AcroIEHelper.dll
ActiveX_AcroIEHelperShim.dll
ActiveX_AcroPDF.dll
Browser.
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.
Posted by:
anonymous_9363
15 years ago
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.
Posted by:
Inabus
15 years ago
Posted by:
anonymous_9363
15 years ago
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.
Posted by:
jmcfadyen
15 years ago
Posted by:
Inabus
15 years ago
Posted by:
jmcfadyen
15 years ago
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.
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.
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.