Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to properly install an app dependent on Direct3D9?

0 views
Skip to first unread message

Bogdan

unread,
Jun 24, 2008, 8:19:44 AM6/24/08
to
Hi,

I'm having problems with a setup project for an app that uses Direct3D 9.
I'm using VS2005 setup project. The project detects dependency on 2
Direct3D DLLs: . If I inlclude the DLLs in the project and install them on
the target machine then the app - in many cases - fails to start and
complains about the DLLs.

The DLLs come from DirectX 9c. The installation environment is rather
controlled - i.e. I can define prerequistes, etc. One of them is a presence
of DirectX 9c. So, why do my installation run into these problems on
machines that have the required DirectX installed?

I tried removing the DLLs from the msi but that seemed to work on most of
Vista based machines (with DirectX 9c) but failed on many XP machines (also
with DirectX 9c). On the other hand, including the DLLs in msi would give
almost opposite results.

Could someone please give me some ideas how to deal with the problem? I'd
appreciate _any_ suggestions and/or links.

I'm trying to avoid including the full redistributable of DirectX9 with my
msi.

Thanks,
Bogdan


barneyman

unread,
Jun 25, 2008, 5:46:38 AM6/25/08
to

The 'correct' way to solve this IMO is to author a dependency on the
directx install into your MSI (using AppSearch and CompLocator) - then
you can warn them that dx is not installed and point them to the
correct place ..

I think VS2005 is just doing a ver or crc comparison, hence some
installations of dx work, others don't - the deployment projects in VS
are very rudimentary and not too smart ...

You will probably either have to include the dx msms in your
deployment project, buy a COTS Installer application, or edit your MSI
(post build) using orca.exe and/or the other msi import/export tools
(latter are in the dsk)

Richard [Microsoft Windows Installer MVP]

unread,
Jun 29, 2008, 11:02:37 AM6/29/08
to
[Please do not mail me a copy of your followup]

In addition to what's already been said:

1) You can't install the DirectX DLLs yourself; you *must* use
DirectSetup to do that. There are some wrapper MSMs, but honestly I
don't trust them to do the right things.

2) Its probably best to direct the user to the web setup page for the
DirectX runtime in order to get them up to date if the search for the
correct version fails. See
<http://www.microsoft.com/downloads/details.aspx?familyid=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&displaylang=en>
--
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://www.xmission.com/~legalize/book/download/index.html>

Legalize Adulthood! <http://blogs.xmission.com/legalize/>

0 new messages