Installing DirectX with application MSI - VS2008 - windows

The application supports Windows XP, Vista, and Windows 7 but need DirectX libraries in order to work properly. I have the DirectX 9.0C Redistributable package and want to include it in my MSI installer created with a Visual Studio 2008 setup project.
Two pronged question:
How do I include the DirectX 9.0C package wiht my MSI?
Will the DirectX 9.0C package ignore Vista and Windows 7 automatically?

Do not include it in your msi package but execute it as a custom action or before the installation starts. Installing it in Vista or Win7 won't cause any issues.

Generally, unless you are distributing your app using DVD/CD to people that may not have the runtime, distribute your app with the Web installer executed as custom action that will search for the more updated version of D3DX

Related

How to install VS2013 redistributable along with your app

I build app using VS2013 but it needs VC redistributable installed on target machine to open app. How can I install these along side my app?
For Win32 desktop applications built with Visual Studio 2013, you can choose one of three options as covered on MSDN:
Have your installer invoke the VCRedist_x86.exe for 32-bit apps, VCRedist_x64.exe for 64-bit native apps, or both if needed.
If you use an MSI-based installer, use the MSM merge modules provided with Visual Studio 2013
You can just copy the needed RETAIL (i.e. non-DEBUG) DLLs into your application folder as part of your installer (i.e. application local).
The first two options are better in the sense that security servicing is handled for the central OS-wide version. The last option doesn't require MSI or admin rights, but means deploying any security servicing updates for the C Runtime is your problem.
For Windows Store apps, Windows phone apps, and Xbox One apps you do not deploy the CRT yourself. It's part of the platform deployment service to do this.

Windows Media Services development in VS2012 (C++)

I have an application that creates WMSPublishingPoint. After migration to VS2012 (from VS2010) I can't compile the project due to studio can't see 'wmsserver.h' file.
This file is shipped with WindowsSDK 7.1, but there is no such file in SDK for Windows 8.
If I choose platform toolset vs110_xp - it's OK. But I need the v110 toolset.
Here is a link which confirm that developers can use wmsserver.h in development for Windows 8: http://msdn.microsoft.com/en-us/library/windows/desktop/dd874782%28v=vs.85%29.aspx
I tried to reinstall SDK (http://msdn.microsoft.com/en-US/windows/desktop/hh852363), but it didn't help.
Is there any additional link to install Windows Media Services SDK for VS2012? I haven't necessary files after installation of Windows SDK for Windows 8.
The SDK is removed, probably because the component is not supported on Windows Server 2012.
I suggest you to extract the WMS facing code to a separate DLL that uses the vs110_xp set, and use the DLL in your application.

Which Windows versions have preinstalled MSINET.OCX control

I have an old VB6 application that depends on MSINET.OCX. I'd like to know if I can distribute this application without registering MSINET OCX component. My target OSes are XP, Vista and Windows 7. Do all of them have this component preinstalled?
See if this information from technet helps you. The short of it seems to be that it does not come preinstalled, it is installed when you install an application that uses it. You will need to include it in your installation.
It's not shipping with the OS. It is however delivered with Visual Basic. You must include it within your application setup. For details on Vista and Win7 support see: Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008 and Windows 7

Windows Installer: Specifying the install order of prerequisites

I am using the Windows installer that comes with VS2010. This app uses .Net4 and will mainly run on xp machines. It also uses some third party assemblies that require .Net2.
If the pc is using XP SP2 I also need to install Windows Imagining Components.
Selecting .Net2 in the prerequsites will not install WIC and will try to install .Net2 on Windows 7 which casues an error.
If I check the .Net3 SP1 prerequisite this will include .Net2 and WIC. Unfortunately when the installer runs it first tries to install framework 4 before framework 3.5.
Is there a way of changing the order of the prerequisites so that 3.5 is installed before 4?
Here is the method to add WIC to your prerequisites list.
Quoted from above link:
"create a custom MSI Bootstrapper Package for WIC -and- add it as a dependency for the standard .NET bootstrapper package
I've created the bootstrapper and patch for the standard .NET bootstrapper which comes with VS.
Download this self-extracting archive , unpack to %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages, and you're ready to go.
If everything is OK, you should see "Windows Imaging Component" in ClickOnce Prerequisites window. Add it to your project, and it should install fine from now on"
This may solve your problem, because if you select it in the list it will be installed before .Net 4 and there is no need to install .Net 2 beforehand.

How Do I ensure that my MSI project is built into a package that is compatible with a specific msiexec version?

I have a windows installer (MSI) project. I want to ensure that when i build it , it will be compatible with msiexec version 4.5.
Normally, compatibility is a problem with a lower verions. Windows Installer 4.5 is the latest version of windows installer and I would expect it to be backward compatible. So, most likely things that you are using will be supported.
What you should worry about is compatibility with older versions of Windows Installer. Most IDEs for creating installers would let you know if you are using something that is available only after some version of Windows Installer onwards.
If your IDE does not provide this feature then you should be aware of what all you are using in your MSI and make sure thats its available in the Windows Installer version you intend to you target with your installer.
That depends on the tool you use to build the MSI, you should be able to specify the required installer version there.
For example, WIX, which I frequently use has a "InstallerVersion" attribute at its "Package" XML Element. There I can specify which Windows Installer Version is required.
(Currently I do not require Installer 4.5 as it isn't deployed everywhere yet and I don't want to require customers to install the new installer on XP.)
Update:
Re-reading your question I get the impression that you use a Visual Studio Installer project. I believe you can't configure the Windows Installer Version there, but it defaults to Windows Installer 3.whatever (I'm not sure about the specific minor version). Setups created with that are compatible with Windows XP in any way.
I don't believe you WANT to require a newer version of Windows Installer when you use a Visual Studio setup project, as the setup project is very limited in what it can do. So to require a newer version of the installer you probably have a specific feature in mind (for example elevation on Vista). To use that feature you'd need a better tool to build installers anyways (like WIX, or Installshield or Wise or ...)

Resources