PDA

View Full Version : How to customize the DirectX 9 object



DLee65
06-25-2007, 09:41 AM
In IS 2008 it is my understanding that I should be able to configure the DirectX 9 object so that only the files I need are delivered. For example we build against Dec2005_d3dx9_28_x86.cab and so all I need to be sure and deliver is this version of the file. Yet, when I remove all the other files from the directory, InstallShield complains that the merge module is not installed. This is true of the standalone build and the regular build.

Also, I usually stage my merge modules on a network resource and from the command line point to the directory where I store my merge modules. The DirectX9 merge module does not seem to honor this command line option. Instead it is looking for the DX9 object to be installed locally.
Here is the error message I get:


ISDEV : error -7017: The Object/MergeModule "\\devfs\public\redist\VS2005_SP1\MergeModules\ISDX9.msm" is not installed on the local system. To download it, go to the Redistributables view, right click on any item and select "Download required Merge Modules."

Has anyone else had any success in customizing this merge module? If so, how? Thanks.

bitshuffler
06-27-2007, 01:48 AM
I've had the same lack of success if that counts for anything :)

I have to ship a version of directx that includes the High level Shader Language (HLSL) available only after October 2006 and I am having trouble working it out. (I'm using Installshield 12)

I've looked through the help and was hoping to find a way other than that outlined in the "Authoring Merge Modules" section. This is due in a week and I think it would take longer than that to build a new directX merge module from scratch.

I'd love to get some help from anyone whow knows how the directx merge module works and whether it can be updated. Thanks in advance.

Kind regards
Andrew

DLee65
06-29-2007, 07:59 AM
In the ObjectGallery is a single INI file that needs to be modified.

{464CB2DF-4E49-4C6B-9066-2A40DA074DBE}.ini


Determine what files you need for your installation. Note that certain core files are required. See MSDN Installing DirectX with DirectSetup (http://msdn2.microsoft.com/en-us/library/bb174600.aspx) for more details.
Remove the files you do not want to distribute or add any new SDK redistributables.
Open the INI file mentioned above and delete all references to the files you removed in step 2 above.

There are two locations in the INI file to modify
First is the 'DownloadFiles' section.
Second is the description section for each file listed.
If adding new files it is probably a good idea to add the file in here (I have not tested this yet) following the same pattern as shown above.
It is NOT necessary to resequence the 'DownloadFiles' section

Make sure you copy this INI file to the Standalone build ObjectGallery directory and to all machines (Standalone build and IDE builds) that will require the same pattern of deliverables.
I have not tested what happens if I just modify the INI without removing the files from the DirectX9c folder.


I hope the steps above help save someone else from days of endless frustration. :D