DMorisseau
Level 5

Compile Error L8407 : conflicts with previous definition

I'm having an issue with an InstallScript project that has been working in InstallShield 2010 that I have updated to InstallShield 2011. There is a customized version of SdFeatureTree that bypasses the standard disk space checking rules because I defer that logic to a customized dialog (we install a suite of programs that can be split across drives).

Now I'm getting an L8407 error in my customized RUL file that holds the definition of SdFeatureTree saying that the prototype definitions of ISRT_.GetDiskSpaceExEx and ISRT_.GetComponentTotalCostEx conflict with previous definitions.

I have Ifx.h defined at the top of my standard setup.rul file, and this custom rul file doesn't contain references to any other .H files

The custom.rul has this block at the top
#ifndef _SDCOMTREE_RUL_
#define _SDCOMTREE_RUL_

followed by the prototype defs, function code

than an #endif at the bottom

Does anyone know how I can resolve this?
Labels (1)
0 Kudos
3 Replies
morrischou
Level 3

Hi DMorisseau :

I have the same problem after I upgraded IS2010 to IS2011
and I also modified SdFeatureTree.rul in my InstallScript project to fit my requirement

Have you resolved the problem yet ??

thanks in advance 🙂
MOrris
0 Kudos
morrischou
Level 3

Does anybody know how to solve it ?? please help me

I converted my Installscript project from IS2010 Prof. then

the complier log as below :

InstallShield Script Compiler
Version 17.0.0.714
Copyright 1997-2010 Flexera Software, Inc. and/or InstallShield Co. Inc. All Rights Reserved.

Compiling...
Setup.Rul
Linking...
isrt.obl(Batch.obs) : error L8407: 'ISRT._GetDiskSpaceExEx' : conflicts with previous definition
isrt.obl(Batch.obs) : error L8407: 'ISRT._ComponentGetTotalCostEx' : conflicts with previous definition
Setup.inx - 2 error(s), 0 warning(s)

:confused:
Morris
0 Kudos
phill_mn
Level 7

By comparing my IS2010 upgraded InstallScript project which gets the same L8407 errors, listed in this thread, to a IS2011 'new project', I found that adding the _ISSCRIPT_NEW_STYLE_DLG_DEFS to the Build/Settings/Processor Defines, that I then got a more helpful C8014 'identifier already defined' compile errors on the same two functions as well as several other variables. Double click on each error and commented out each line and then the project results in a clean upgraded IS2011 build. I did not find any documentation in the 'Whats new...' or the 'Upgrading a project..." documents related to this issue, and Flexera has not responded to my Gold Maintenance request (opened prior to finding this solution) for support yet.
0 Kudos