cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
DolphinMann
Level 2

-5008 error I cannot figure out

I am trying to have installshield execute a simple application installation on 32bit(x86) program I've created.

The basic architecture:
Program Project
DLL1
DLL2
DLL3

Everything is built on x86 for both debug and release. This I've confirmed. However I continue to see a "Error 29 -5008: This 32-bit package cannot include 64-bit data. The 64-bit data may come from a merge module. ISEXP : error : -5008: This 32-bit package cannot include 64-bit data. The 64-bit data may come from a merge module." every single time I attempt to create the installer with the only "Application Files" being the contents and primary output of my program via the application assistant.

I have narrowed down the problem, by building it with output from each project until I only got the one that crashed. Then once I knew which DLL it was I eliminated all references 1 by 1 until it failed again.

It turns out these two DLL's are the problem:
sapnco_utils.dll
sapnco.dll

I don't expect you to know what those are, but what I don't understand is they ARE x86 DLL's. They are DLLs for interacting with SAP and can be downloaded in x86 or x64 versions from the SAP market place(free to make an account). I have also confirmed via dependency walker, add/remove programs/etc that these two DLL's are 32 bit but yet the installer will still not build because it fails whenever I add them as a reference.

I understand without the DLL's you cannot really solve the problem but are there any recommendations on where else I can check? Is there a way to get around the problem/ignore the error? What are my options? There is no other DLL I can use in place of these and as I mentioned, they are 100% 32 bit.

Regards,

-Mark Mann
Labels (1)
0 Kudos
(1) Reply
MichaelU
Level 12 Flexeran
Level 12 Flexeran

As a bit of clarification, there are two different questions which sound pretty similar: are you installing a file that contains 64-bit resources, or are you installing a resource (file or registry) to a 64-bit location? Windows Installer, and thus our build error, cares about the latter. It doesn't matter if they're 32-bit, 64-bit, or even plain old text files.

So, while you will undoubtedly also care about using the correct build of your files, what matters here is where it's going. Have you made sure that you don't have a merge module that's doing something like putting files under the ProgramFiles64 folder, or otherwise contains a component marked as 64-bit?
0 Kudos