PDA

View Full Version : Compile errors on a setup.rul file



jonathanqis
10-20-2011, 04:32 AM
I am trying to invoke InstallScript functions (written in a merge module) in my main install project.
I wish to call them from the OnFirstUIBefore handler.

Is it possible to compile the setup.rul file of the merge module and include it as a library in the main installation project ?

I am getting errors when I do try to compile the merge modules setup.rul file as below.
I am running the following compilaton command:


Compile.exe Setup.rul ISWI.obl isrt.obl
-libpath"C:\Program Files (x86)\InstallShield\2012\Script\Iswi\Lib"
-libpath"C:\Program Files (x86)\InstallShield\2012\Script\Isrt\Lib"
-i"C:\Program Files (x86)\InstallShield\2012\Script\Ifx\Include"
-i"C:\Program Files (x86)\InstallShield\2012\Script\Isrt\Include"
-i"D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files"

N.B. I took out paths to command and .rul file for clarity.

I get the following errors.


Compiling...
Setup.rul
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(222) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(225) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(229) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(232) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(236) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(239) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(243) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(246) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(249) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(252) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(255) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(258) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(261) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(265) : error C8025: 'MsiSetProperty' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(425) : error C8025: 'MsiGetActiveDatabase' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(425) : error C8041: '(' : function type required
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(428) : error C8025: 'MsiDatabaseOpenView' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(430) : error C8025: 'MsiViewExecute' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(435) : error C8025: 'MsiCreateRecord' : undefined identifier
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(435) : error C8041: '(' : function type required
D:\DEVEL\QISMain\Installation\Projects\Merge Modules\LabLink\Script Files\LabLinkSetup.rul(435) : fatal error F8516: maximum error count reached
Setup.inx - 21 error(s), 0 warning(s)

I think this needs the appropriate -i and -libpath statements adding but i can not find the msi.h\msi.lib\msi.dll files you reference in the Installshield help.
I make calls to the msi methods listed in the errors and so need them resolving.

Any suggestions ?

Thanks in advance.