PDA

View Full Version : Internal error 2721 ExtractBDEMergeINI



jcfrick
12-07-2002, 09:20 PM
Hi,

I just purchased express 4, Installed it and the BDE enterprise merge module without problems. I have created an install that uses BDE_ENT . The install compiles with 0 errors and 0 warnings. When I test the build it give the Internal Error 2721 ExtractBDEMergeINI message and terminates the install.

I have tried to locate an related info for this error but have not found a solution. Anyone got an idea that might help?

Thanks in advance.:eek: :confused:

Chandima
12-09-2002, 02:18 PM
Sounds like the build didn't grab the ini file created by the BDE module. Is this is a compressed setup? What happens if you build uncompressed? Do you get the same error?

jcfrick
12-09-2002, 03:54 PM
Hi,

Thanks for the reply.

I have tried an uncompressed build and a compressed build.

I prefer to use uncompressed.

Is there a cerrtain location that the BDE object wizard should place the ini file?

I pointed the BDE object wizard to my source directory. It creates the ini file there just fine.

I am using dynamic file linking. The project shows the ini file as existing within the linked directory.

I checked in the uncompressed structure after the build and the ini file exists there as well.

I am using a preexisting alias when configuring the BDE object wizard. :confused:

Thanks...

Chandima
12-10-2002, 11:32 AM
That would explain it. Did you configure the BDE wizard to point at this ini file? It looks like you didn't. If you did, the build will stream this ini file in to the msi, and at runtime extract it. Error 2721 means it can't extract this file from the binary table.

jcfrick
12-10-2002, 01:19 PM
Hi,

Thanks for the reply.


I don't find the BDEMerge.ini file anywhere in the built directories.

Prior to purchasing ISE 4 I was using the Borland Limited Edition version 3.03 that came packaged with Delphi 6.

In version 3.03 I've noticed that when the project is compiled it creates a BDEMerge.ini file that is placed in the same directory as the *.msi file. But under version ISE 4 the same is not occuring. I suspect this is the problem.

The ini file that I spoke about in the last post contains the alias information for the application that I intend to install. That ini file is created by the BDE Object Wizard (correct me if I wrong).

The ini file that the BDE Object Wizard creates exists within my source structure (or wherever I point it) and when the project is compiled I can see it was correctly moved to the structure that is created by ISE 4.

Thanks...

Chandima
12-10-2002, 02:07 PM
The ini file will no linger be in the same location as the msi. This behavior changed in Express 3.5x. What happens if you create a new project, add the BDE module, use the wizard and point it at your existing msi file, build and install? Do you still get the error?

If you don't get the error it could be that something got set incorrectly during the upgrade. Let me know.

jcfrick
12-11-2002, 01:25 AM
Hi,

Thanks for the reply.


I don't find the BDEMerge.ini file anywhere in the built directories.

Prior to purchasing ISE 4 I was using the Borland Limited Edition version 3.03 that came packaged with Delphi 6.

In version 3.03 I've noticed that when the project is compiled it creates a BDEMerge.ini file that is placed in the same directory as the *.msi file. But under version ISE 4 the same is not occuring. I suspect this is the problem.

The ini file that I spoke about in the last post contains the alias information for the application that I intend to install. That ini file is created by the BDE Object Wizard (correct me if I wrong).

The ini file that the BDE Object Wizard creates exists within my source structure (or wherever I point it) and when the project is compiled I can see it was correctly moved to the structure that is created by ISE 4.

Thanks...

Chandima
12-11-2002, 11:16 AM
Once again, you will NOT see the ini file in your built media folders. This is because it is streamed in to the msi file. At runtime it will be extracted to where the msi is.

Please do the following:
1. Launch Express and create a new project
2. Go to Redistributables View
3. Select the BDE merge module (check the checkbox)

Does this launch a Wizard?
Right click on the BDE Wizard. Does the Right Click Menu have the "Change Object Settings" option enabled?

If not, this is the root of the problem. To fix, do the following:
1. Launch Add/Remover Programs (ARP)
2. Uninstall the BDE Merge Module. If you don't see it here, manually move the msm file to another location that Express is not aware of.
3. Select InstalShield Express in ARP
4. Press the "Change" button
5. Select the Modify option
6. Enable the appropriate (Professional or Enterprise) BDE merge module feature
7. Complete the setup
8. Launch Express, create a new project and go to "Redistributables" view
9. Check (or select) the BDE module

This SHOULD launch the wizard. Please let me know.

jcfrick
12-11-2002, 12:49 PM
I have built a new test project as you suggested. It only contains one app exe file and the BDE_ENT.

Here are the results that pertain;

Loading File table
Building File table
Merging modules...
Merging BDE_ENT: C:\Program Files\InstallShield\Express\Objects\BDE_ENT.msm
File table successfully built
Building MsiFileHash table
MsiFileHash table successfully built
Class table successfully built
Extension table successfully built
ODBCDataSource table successfully built
ODBCDriver table successfully built

<All Built Successfully here>

IniFile table successfully built
IniLocator table successfully built

<All Built Successfully here>

Resolving strings...
Language English (United States) built
Files built
Media table successfully built
Performing Upgrading and Patching Validation
Setup.exe created
Express\Custom - 0 error(s), 0 warning(s)


These are the results when tested;

Internal Error 2721. ExtractBdeMergeINI

Chandima
12-11-2002, 12:55 PM
In this test, when you selected the BDE_ENT merge module, did it launch a Wizard?

jcfrick
12-11-2002, 01:08 PM
Sorry I didn't see your last post.

I hit my post button twice and my message posted twice.

Here are the answers to your questions;

<Once again, you will NOT see the ini file in your built media folders. This is because it is streamed in to the msi file. At runtime it will be extracted to where the msi is.>


I understand that the build logic has changed since version 3.03


<Please do the following:
1. Launch Express and create a new project
2. Go to Redistributables View
3. Select the BDE merge module (check the checkbox)

Does this launch a Wizard?>


Yes the BDE Object Wizard Launches.


<Right click on the BDE Wizard. Does the Right Click Menu have the "Change Object Settings" option enabled?>


Yes the "Change Object Settings" is enabled.


<If not, this is the root of the problem. To fix, do the following:>


I will try this or anything else that will solve the problem.


<1. Launch Add/Remover Programs (ARP)
2. Uninstall the BDE Merge Module. If you don't see it here, manually move the msm file to another location that Express is not aware of.
3. Select InstalShield Express in ARP
4. Press the "Change" button
5. Select the Modify option
6. Enable the appropriate (Professional or Enterprise) BDE merge module feature
7. Complete the setup
8. Launch Express, create a new project and go to "Redistributables" view
9. Check (or select) the BDE module

This SHOULD launch the wizard. Please let me know.>


I have uninstalled the BDE Merge Module and reinstalled it as you directed and created a new test project. The BDE Object Wizard DOES launch. Here is the results of the test run;

Internal Error 2721. ExtractBdeMergeINI

What Now?

Chandima
12-11-2002, 01:17 PM
Please send me your .ise file to chandimar@installshield.com and I'll take a look at what the problem is. Thanks!

jcfrick
12-11-2002, 01:31 PM
The *.ise file has been sent.

Chandima
12-12-2002, 02:37 PM
Finally got to the bottom of this issue. If anyone else has this problem, browse to C:\Program Files\InstallShield\Express\Support and see if there is a file named BDEMMHelper.dll. This error occurs if this file is missing. If it is missing contact InstallShield Support or email me at chandimar@installshield.com.