PDA

View Full Version : FAILED: Wrong CustomActionData format (Internal Code: 0)



bill_packard
04-01-2009, 03:10 PM
Error above encountered when attempted to run fnpActSvcInstallForMSI. Using Flexnet FNP_Act_Installer.dll 11.6.1. Installation worked correctly when using Flexnet 11.4.1.
Complete error:

Action 15:34:42: fnpActSvcInstallForMSI.81DC27C7_B3CF_4E95_9A3A_084773432BC5. Installing FLEXnet Licensing service
Log FLEXnet Licensing Service Installer: FAILED: Wrong CustomActionData format (Internal Code: 0)
Log FLEXnet Licensing Service Installer: (Internal Code: 0)
Log FLEXnet Licensing Service Installer: FAILED: Installation of FLEXnet licensing service (Internal Code: 0)

Help in FuncRef-c.pdf has not changed since 11.4.1. Best guess is that 11.4 ignored property data, but 11.6 does not.

Need to know what format data needs to be in for function and whether uninstall funtion has same or different requirements. (Actions execute in deferred sequence so property table is not accessible. Each custom action will have its own custom action data record.)

Thanks in advance,
bill packard

RobertDickau
04-01-2009, 06:56 PM
Out of curiosity, are you using a merge module? The custom actions involved use the FNPProductInfo property to populate CustomActionData; and if this is a merge module, FNPProductInfo is being decorated as FNPProductInfo.HHHHHHHH_HHHH_HHHH... with the merge module project's Module ID GUID setting.

Does the log file have any property beginning with "FNPProductInfo" in it?

bill_packard
04-02-2009, 08:00 AM
Robert,

Thanks for the reply.

Yes the FNP_Act_Installer.dll payload is contained in a merge module and the actions are run from that. (Which worked with v 11.4). The help indicates that 2 properties are used: FNPPUBLISHER and FNPPRODUCT, it says nothing about FNPPRODUCTINFO (which I assume now is part of the problem). Although the properties are defined in the merge module they are done so using custom actions (51) so the properties are not decorated.

e.g.: "SET_FNPPUBLISHER.81DC27C7_B3CF_4E95_9A3A_084773432BC5","51","FNPPUBLISHER","[Manufacturer]"


The log file indicates nothing about a FNPPRODUCTINFO property as that property was neither defined or discussed in the documentation.

Is the property name actually relevant? The actions are (as the documentation indicates) in the deferred sequence, as such the function will not have access to the property table and must use the CustomActionData property.

So, new questions:

What format is the FNPPRODUCTINFO in, I assume that it should contain both the publisher and product info with a delimiter between?

Does the function actually use custom action data, so it must be run in the deferred sequence, or not and cannot be run in the deferred sequence?

Does the uninstall require the same information? (customActionData must be set for each deferred action.)

Lastly, can the documentation (C/C++ Function Reference FLEXnet Publisher Licensing Toolkit 11.6 FNP-116-FR01) be updated to be consistent with actual implementation?

Thanks again for the quick response
bill packard

RobertDickau
04-02-2009, 09:57 AM
Oh, FNPProductInfo might just be for the example installation projects that ship with the toolkit. The README file (I'm not shouting, that's just what it's called) in ...i86_n3\examples\serviceinstall\installshield2008\FLEXNetActivationService describes the format of FNPProductInfo, publishername;productname.

Exactly right that the actions that call fnpActSvcInstallForMSI (and -UninstallForMSI) want to be in deferred mode and therefore need CustomActionData for configuration...

Robert

bill_packard
04-02-2009, 11:30 AM
Robert,

thanks! the publisher;product format is what I needed. Had to tweak the merge module actions in orca to remove the decoration - attempting to assign a value (CustomActionData) to a decorated action truncated the name.

e.g.: SetFNPProductInfo.SetProperty.81DC27C7_B3CF_4E95_9A3A_084773432BC5 51 fnpActSvcInstallForMSI.81DC27C7_B3CF_4E95_9A3A_084773432BC5 [FNPPRODUCTINFO]

won't work as the source property name gets truncated.

If you could also mention to someone that the docs are out of date it might save someone else some time.

thanks again,
bill

RobertDickau
04-02-2009, 04:37 PM
Thanks for the follow-up; I've passed your comments along to the docs team.

Thanks,

Robert