cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not applicable

password written in msi log

Hi,

I am using C# dll deferred custom action in my setup and it creates below entry in msi log files and writes all properties with 'Ignoring CustomActionData substring' <>, Can you please suggest if there is a way to hide this as this contains password entry as well. Log is added below for your reference.

----------------------------------------------
MSI (s) (1C:34) [00:01:36:125]: Executing op: CustomActionSchedule(Action=cs_CreateService,ActionType=11265,Source=BinaryData,Target=**********,CustomActionData=**********)
MSI (s) (1C:CC) [00:01:36:140]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI21F3.tmp, Entrypoint: m5
InstallShield: Attempting to load through CLR 4 APIs...
InstallShield: Getting meta host...
InstallShield: Loaded CLR successfully
InstallShield: Ignoring CustomActionData substring "C:\Program Files (x86)\TEST|C:\||5|True|False|True|VM134|TEST_DB_CD16|||0|||||2012/06/12 10:29:28||||Testdomain\admin|admin123|||1|1||"
InstallShield: Deferred action requested property MsiHiddenProperties not provided by CustomActionData
InstallShield: Loading assembly DLPInstall from resource 4097
InstallShield: Calling method with parameters [(System.IntPtr)424, (System.String)TestManager]
----------------------------------------------
Thanks in advance for your help & suggestion.

Manish Jain
manish1979@gmail.com
Labels (1)
0 Kudos
(4) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Your cleanest bet here is to convert the specified CustomActionData into the format that our managed custom action host recognizes: property1="value" property2="value". In doing so you might try either Name="" or you might try also specifying something like MsiHiddenProperties="list;of;hidden;properties" hidden="". The donwside? You will likely have to change your code to read this property differently, however you could make it an argument that the host passes to you.
0 Kudos
Not applicable

Hi Michael,

Thanks for your reply. As you mentioned below to try property=value pair, we had similar implementation earlier but the problem was that the customactiondata string has a limitation of 1024 characters and our string was crossing that limit this way so we moved to 'value1|value2|...|ValueN' format. The second option of using MsiHiddenProperties is already in place but it still show the string in logs. Please see if you can find some other way of hiding this.

Thanks,
Manish
0 Kudos
jesse_wolfe
Level 3

Hi Manish...

Not sure this is an option for you, but have you considered encrypting either just the credentials but maybe the whole thing? You may not have the bandwidth to do so with only 1024 bytes, but maybe?
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I'm not aware of any solid limit of 1024 characters in CustomActionData or any other property. Do you know at what level this limitation is being imposed? It could be a problem in our bridge (that I've forgotten), or perhaps is in your managed code. I don't believe it's in Windows Installer itself.

As for using MsiHiddenProperties, you need to it (including the name of the hidden parameter) as one of the parameters through CustomActionData for our bridge to respect it. The real MsiHiddenProperties would also have to include the name of the custom action, or the MSI log would also include the CustomActionData (but I think you have that already).
0 Kudos