Silent File type registration - help needed
Guys,
I'm trying to silently deploy an ActiveX plug-in (via MSI) but I'm having a problem when it tries to register the fileTypes.
The ActiveX is an IE plug-in that opens Tiff images for viewing in the browser (Map sheets).
Any ideas on how I can get this to happen silently?
Thanks in Advance
I'm trying to silently deploy an ActiveX plug-in (via MSI) but I'm having a problem when it tries to register the fileTypes.
The ActiveX is an IE plug-in that opens Tiff images for viewing in the browser (Map sheets).
Any ideas on how I can get this to happen silently?
Thanks in Advance
0 Comments
[ + ] Show comments
Answers (7)
Please log in to answer
Posted by:
anonymous_9363
15 years ago
I presume you're using the appropriate switch on the command line to MSIExec, in order to get silent execution?
Is the ActiveX control actually being installed by the MSI or is the MSI calling another EXE to perform the installation? I'm trying to work out why you'd see any prompt if it was pure MSI and run with the silent switch...
Is the ActiveX control actually being installed by the MSI or is the MSI calling another EXE to perform the installation? I'm trying to work out why you'd see any prompt if it was pure MSI and run with the silent switch...
Posted by:
kymdyer
15 years ago
Thanks for taking the time to reply.
I'm using the correct silent switches on the MSI. I think the OCX contained in the MSI is generating the notice when it registers the file types to be handled by IE. The OCX is set to self register.
I've tried to run the MSI with the ASSOCIATE=1 property set but am still having issues.
It's driving me nuts because the plug-in has to go into our MOE image.
REgards
I'm using the correct silent switches on the MSI. I think the OCX contained in the MSI is generating the notice when it registers the file types to be handled by IE. The OCX is set to self register.
I've tried to run the MSI with the ASSOCIATE=1 property set but am still having issues.
It's driving me nuts because the plug-in has to go into our MOE image.
REgards
Posted by:
anonymous_9363
15 years ago
Sorry: I *completely* missed the picture link you posted.
That message is nothing to do with registration of ActiveX objects. Rather, the MSI (actually, more likely, a Custom Action in the MSI) wants to change the file extensions .TIF and .TIFF so that they are associated with IE, enabling the user to double-click those file types and have them open in IE. Quite why an app takes it upon itself to change file associations to a different app is a question for the vendor but, in the meantime, if this is not something you want, you need to locate the action which is being run to change that association and stop it running. Normally, I do this by applying an impossible-to-meet condition (0=1, for example) on the action. Of course, this needs to be done via a transform, rather than by editing the MSI directly.
If it *is* something you want, just change the file extension handling in the appropriate table. You'll still need to prevent the Custom Action from running, of course.
That message is nothing to do with registration of ActiveX objects. Rather, the MSI (actually, more likely, a Custom Action in the MSI) wants to change the file extensions .TIF and .TIFF so that they are associated with IE, enabling the user to double-click those file types and have them open in IE. Quite why an app takes it upon itself to change file associations to a different app is a question for the vendor but, in the meantime, if this is not something you want, you need to locate the action which is being run to change that association and stop it running. Normally, I do this by applying an impossible-to-meet condition (0=1, for example) on the action. Of course, this needs to be done via a transform, rather than by editing the MSI directly.
If it *is* something you want, just change the file extension handling in the appropriate table. You'll still need to prevent the Custom Action from running, of course.
Posted by:
kymdyer
15 years ago
Hi,
thanks again for your reply.
That message has everything to do with registering the activeX control. If I extract the 2 files from the msi and place them in their destination folder and then use regsvr32 to register the ocx, I get exactly the same message.
In the MSI, if I remove the OCX file from the selfreg table, I can get the msi to install silently.
What would fix my problem, would be a custom action to call regsvr with the /s switch to register the ocx. My couple of attempts to do this so far have failed.
The complete path to the ocx file is C:\Program Files\Cartesian Products\CPC View ax\cpcvwmsi.ocx, so if you know how I can silently register the OCX with a custom action, that would solve my problem.
Regards
thanks again for your reply.
That message has everything to do with registering the activeX control. If I extract the 2 files from the msi and place them in their destination folder and then use regsvr32 to register the ocx, I get exactly the same message.
In the MSI, if I remove the OCX file from the selfreg table, I can get the msi to install silently.
What would fix my problem, would be a custom action to call regsvr with the /s switch to register the ocx. My couple of attempts to do this so far have failed.
The complete path to the ocx file is C:\Program Files\Cartesian Products\CPC View ax\cpcvwmsi.ocx, so if you know how I can silently register the OCX with a custom action, that would solve my problem.
Regards
Posted by:
India_Repackaging
15 years ago
Posted by:
WiseNdMe
15 years ago
Posted by:
anonymous_9363
15 years ago
- The only way that that message would appear on registration would be if the vendor had bastardised the default DLLRegisterServer function which their compiler creates or they have a process watching for that registration. Awesome design decision.
- NEVER register OCXs/DLLs with RegSvr32 in a Custom Action. If the file has dependencies, registration will fail.
- The route you need to follow is to:
- stop the self-registration (as this will also fail if dependencies are missing)
- use your authoring tool's utility to extract the COM information to a .REG file.
- import that .REG into your project and have the tool populate the advertising tables instead of the Registry table.
- decide whether or not you want to change the assocation and act accordingly. I agree with the other comments about that: who needs IE's overhead to look at TIFs?!?!? Equally awesome design decision...
- NEVER register OCXs/DLLs with RegSvr32 in a Custom Action. If the file has dependencies, registration will fail.
- The route you need to follow is to:
- stop the self-registration (as this will also fail if dependencies are missing)
- use your authoring tool's utility to extract the COM information to a .REG file.
- import that .REG into your project and have the tool populate the advertising tables instead of the Registry table.
- decide whether or not you want to change the assocation and act accordingly. I agree with the other comments about that: who needs IE's overhead to look at TIFs?!?!? Equally awesome design decision...
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.