Link to home
Start Free TrialLog in
Avatar of straubtm
straubtm

asked on

Distributing VB.Net app with Flash Player (AxIntrop and Interop included)

PROBLEM: My VB.Net app uses the Flash Player but will not run on a fresh Windows XP or Vista machine unless I install the flash player via Adobe's website or via the adobe flash player 10 install msi.  

BACKGROUND:
I have added the flash player to my application which Visual Studio 2005 kindly created wrappers for (AxInterop.ShockwaveFlashObjects.dll and Interop.ShockwaveFlashObjects.dll)  These wrapped c:\windows\system32\macromed\flash\flash.ocx

The development machine has since been updated to flash 10 (c:\windows\system32\macromed\flash\flash10a.ocx).  

QUESTION:
Part 1. it appears VS2005 now points to flash10a.ocx, but how can I make sure the wrappers do as well?
Part 2. The setup seems to automatically include the flash10a.ocx file.  The register property for this file is set to vsdrfDoNotRegister.  Should I switch it to vsdrfCOMSelfReg?
Part 3. Any reason why this would not work on it's own?   It is preferable to to not have to run the adobe msi or download the player to get this to work.
ASKER CERTIFIED SOLUTION
Avatar of Vadim Rapp
Vadim Rapp
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of straubtm
straubtm

ASKER

Unfortunately, the winform with the reference to the shockwaveflash obj crashes on initialization if flash is not installed.  So, trapping for it like you do on a website is not quite as easy.
Okay, You've convinced me that my idea is not a good one.  
I now plan on checking the registry for the existance of the Flash Player...
(if HKCR\CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000} exists)
and get the version number here... (HKLM\SOFTWARE\Classes\ShockwaveFlash.ShockwaveFlash\CurVer).

If it doesn't exist or isn't the right version, how might I install the right version from the web?
Don't install the right version from the web. Adobe may change the address. User can be behind the proxy. Use may have no permission to install by policy. And so forth.

msgbox "Dude, we need Flash Player here. Last time we saw it at www.adobe.com. Come back when you have installed it, ciao!",vbCritical
Gotcha.  Well, I decided to use the Bootstrapper Manifest Generator from CodePlex and check to see if they have Flash installed via the registry.  If not, it downloads and installs the latest version from my website... Adobe granted me rights to redistribute it... so problem solved.  Thanks for helping me think this through.