Take a look at CustomActrion/@HideTarget

-----Original Message-----
From: Tunney, Stephen [mailto:stephen.tun...@nuance.com] 
Sent: Wednesday, October 23, 2013 12:25 PM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Hiding CustomActionData values in MSI logs

Hello all,

I have several deferred CAs in my application and I'm using the 
CustomActionData to pass in several properties into them.

However I am seeing the following in my MSI logs (asterisks added where 
usernames and passwords exposed for corporate security by hand), obviously I 
want parts of it hidden in the MSI logs for security puposes for our customers:

MSI (s) (8C:BC) [13:15:51:279]: Executing op: ActionStart(Name=EQDropDatabase,,)
Action 13:15:51: EQDropDatabase.
MSI (s) (8C:BC) [13:15:51:281]: Executing op: 
CustomActionSchedule(Action=EQDropDatabase,ActionType=1025,Source=BinaryData,Target=DropDatabase,CustomActionData=RUNTIME_DATABASE_LOGON_TYPE=WinAuth|SERVICE_USERNAME=MY_DOMAIN\me|SERVICE_PASSWORD=MyPassword12##34|ODBC_CONNECTION_STRING=Driver={SQL
 Server};Server=.\SQLEXPRESS;Trusted_Connection=Yes;)

Here is an example of the WXS code I have that is causing these issues:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
       <Fragment>
    <Property Id="EQDropDatabase" Hidden="yes" Secure="yes" />
    <Property Id="EQCreateDatabase" Hidden="yes" />
    <Property Id="EQExecuteSQLFromBinary" Hidden="yes" />
    <Property Id="EQSetUserLogonAsServiceRights" Hidden="yes" />
    <Property Id="EQSetSQLLogins" Hidden="yes" />

    <CustomAction Id="CheckDatabaseExists" BinaryKey="EQCA.Net" 
DllEntry="CheckDatabaseExists" Execute="immediate"/>
    <CustomAction Id="SetSERVICE_USERNAME" BinaryKey="EQCA.Net" 
DllEntry="SetSERVICE_USERNAME" Execute="immediate"/>
    <CustomAction Id="SetCASNAME" BinaryKey="EQCA.Net" DllEntry="SetCASNAME" 
Execute="immediate"/>

    <CustomAction Id="SetDropDatabaseCustomActionData" 
Property="EQDropDatabase" 
Value="RUNTIME_DATABASE_LOGON_TYPE=[RUNTIME_DATABASE_LOGON_TYPE]|SERVICE_USERNAME=[SERVICE_USERNAME]|SERVICE_PASSWORD=[SERVICE_PASSWORD]|ODBC_CONNECTION_STRING=[ODBC_CONNECTION_STRING]|RUNTIME_DATABASE_NAME=[RUNTIME_DATABASE_NAME]|EQCAS_SCRIPT=[EQCAS_SCRIPT]"
 />
    <CustomAction Id="EQDropDatabase" BinaryKey="EQCA.Net" 
DllEntry="DropDatabase" Execute="deferred" />
    <CustomAction Id="SetCreateDatabaseCustomActionData" 
Property="EQCreateDatabase" 
Value="RUNTIME_DATABASE_LOGON_TYPE=[RUNTIME_DATABASE_LOGON_TYPE]|SERVICE_USERNAME=[SERVICE_USERNAME]|SERVICE_PASSWORD=[SERVICE_PASSWORD]|ODBC_CONNECTION_STRING=[ODBC_CONNECTION_STRING]|RUNTIME_DATABASE_NAME=[RUNTIME_DATABASE_NAME]|EQCAS_SCRIPT=[EQCAS_SCRIPT]"
 />
    <CustomAction Id="EQCreateDatabase" BinaryKey="EQCA.Net" 
DllEntry="CreateDatabase" Execute="deferred" />
    <CustomAction Id="SetPopulateDatabaseCustomActionData" 
Property="EQExecuteSQLFromBinary" 
Value="RUNTIME_DATABASE_LOGON_TYPE=[RUNTIME_DATABASE_LOGON_TYPE]|SERVICE_USERNAME=[SERVICE_USERNAME]|SERVICE_PASSWORD=[SERVICE_PASSWORD]|ODBC_CONNECTION_STRING=[ODBC_CONNECTION_STRING]|RUNTIME_DATABASE_NAME=[RUNTIME_DATABASE_NAME]|EQCAS_SCRIPT=[EQCAS_SCRIPT]"
 />
    <CustomAction Id="EQExecuteSQLFromBinary" BinaryKey="EQCA.Net" 
DllEntry="RunAsSQL" Execute="deferred" />
    <CustomAction Id="SetPopulateUserLogonAsServiceRightsCustomActionData" 
Property="EQSetUserLogonAsServiceRights" Value="[SERVICE_USERNAME]" />
    <CustomAction Id="EQSetUserLogonAsServiceRights" BinaryKey="EQCA.Net" 
DllEntry="AddUserToLocalLogonAsServiceRights" Execute="deferred" 
Impersonate="no"/>
    <CustomAction Id="SetCreateSQLLoginsCustomActionData" 
Property="EQSetSQLLogins" 
Value="RUNTIME_DATABASE_LOGON_TYPE=[RUNTIME_DATABASE_LOGON_TYPE]|SERVICE_USERNAME=[SERVICE_USERNAME]|SERVICE_PASSWORD=[SERVICE_PASSWORD]|ODBC_CONNECTION_STRING=[ODBC_CONNECTION_STRING]|RUNTIME_DATABASE_NAME=[RUNTIME_DATABASE_NAME]"
 />
    <CustomAction Id="EQSetSQLLogins" BinaryKey="EQCA.Net" 
DllEntry="CreateSQLLogins" Execute="deferred" />

    <InstallUISequence>
      <Custom Action="SetSERVICE_USERNAME" Overridable="yes" 
Before="LaunchConditions"><![CDATA[1]]></Custom>
      <Custom Action="SetCASNAME" Overridable="yes" 
Before="LaunchConditions"><![CDATA[1]]></Custom>
    </InstallUISequence>

    <InstallExecuteSequence>
      <Custom Action="SetDropDatabaseCustomActionData" 
Before="EQDropDatabase"><![CDATA[1]]></Custom>
      <Custom Action="SetCreateDatabaseCustomActionData" 
Before="EQCreateDatabase"><![CDATA[1]]></Custom>
      <Custom Action="SetPopulateDatabaseCustomActionData" 
Before="EQExecuteSQLFromBinary"><![CDATA[1]]></Custom>
      <Custom Action="SetCreateSQLLoginsCustomActionData" 
Before="EQSetSQLLogins"><![CDATA[1]]></Custom>

      <Custom Action="SetPopulateUserLogonAsServiceRightsCustomActionData" 
Before="EQSetUserLogonAsServiceRights"><![CDATA[1]]></Custom>

      <Custom Action="EQSetUserLogonAsServiceRights" Overridable="yes" 
Before="InstallServices"><![CDATA[INSTALLSERVICE]]></Custom>

      <!-- DROP_DATABASE = "1"  CREATE_DATABASE = "1"  -->
      <Custom Action="EQSetSQLLogins" Overridable="yes" 
Before="EQCreateDatabase"><![CDATA[RUNTIME_DATABASE_EXISTS = "1" OR 
(CREATE_DATABASE = "1" AND ((RUNTIME_DATABASE_EXISTS = "1" AND DROP_DATABASE = 
"1") OR RUNTIME_DATABASE_EXISTS = "0"))]]></Custom>
      <Custom Action="EQDropDatabase" Overridable="yes" 
Before="EQCreateDatabase"><![CDATA[RUNTIME_DATABASE_EXISTS = "1" AND 
DROP_DATABASE = "1"]]></Custom>
      <Custom Action="EQCreateDatabase" Overridable="yes" 
Before="EQExecuteSQLFromBinary"><![CDATA[CREATE_DATABASE = "1" AND 
((RUNTIME_DATABASE_EXISTS = "1" AND DROP_DATABASE = "1") OR 
RUNTIME_DATABASE_EXISTS = "0")]]></Custom>
      <Custom Action="EQExecuteSQLFromBinary" Overridable="yes" 
Before="InstallServices"><![CDATA[CREATE_DATABASE = "1" AND 
((RUNTIME_DATABASE_EXISTS = "1" AND DROP_DATABASE = "1") OR 
RUNTIME_DATABASE_EXISTS = "0")]]></Custom>
    </InstallExecuteSequence>
  </Fragment>
</Wix>
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register > 
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to