• Advertisement
Sign in to follow this  

Installer for redistributable component (No application)

This topic is 2051 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have made a self registering MFC ActiveX component (Graphics engine) in Visual C++ 2005 but users have problems with registering the component using my script because of the manual work with admin rights and missing dependencies.
I need an installer that can automatically install the dependencies before installing my component.
The problem is that regular installers are made for end user applications and do nothing for separate components nor their dependencies.

Things I need to do in the installer:
Ask for admin rights.
Check that the computer is DirectX 10/11 compatible.
Download and install service pack for Windows Vista if needed.
Download and install DirectX 11 if needed.
Install visual C/C++ 2005 redistributable components if needed.
Install a newer version of MFC if needed. (Not likely but possible with DLL stomping from older applications)
Copy and register my ocx component. Edited by Dawoodoz

Share this post


Link to post
Share on other sites
Advertisement
Take a look at NSIS for a good, open source installer package, it is capable to handle the right issues under vista/win7.
When it comes to directX, microsoft sugguested to use the webinstaller, which could not be redistributed (as far as I know), thought there are redistributable DirectX SDKs available for download. When you want to use the redistributeables (either VS or directX), just add them to your installer and execute them when the user choose to, thought this will add some MB to your installer and you need to show up the microsoft licenses.

An other, much simpler, but error prone variante is, too just link to the according microsoft download pages. There's no additional burden to your installer and no need to show up the licenses. Edited by Ashaman73

Share this post


Link to post
Share on other sites
Hi!

The Windows Installer would be a good solution, too (I thing that you have the project editor in your VS).
The DirectX11 API is shipped with specific versions of Windows, it would require a service packs for Windows Vista.
Deploying DirectX is rather adding needed libraries from DirectSDK.
You would use for it DirectXSetup, an API for it.
This is explained in DirectX SDK and there in a Microsotf's blog:
http://blogs.msdn.co...ll-helpers.aspx

I had a similar problem, and have developed an installer.
Visual C++ runtime is being installed by Merge Modules and DirectX by application that is a wrapping for my MSI.
It installs different DirectX libraries for WIndows XP and Windows Vista (old API), and different versions fow Windows 7/8 becuase of libraries deprecation.

P. S.
Please be careful, there are two versions of DirectX June 2010 setups. The second is a refreshed version that removes known bugs.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement