Hi folks,

I have database passwords and web app pool username passwords showing up in
my MSI log file
I have verbose logging on:
<Property Id="MsiLogging" Value="voicewarmupx"/>

I have the properties set like this:
<Property Id="DATABASE_PASSWORD" Hidden="yes" Secure="yes"/>

I have my deferred custom action set like this:
<CustomAction Id="CA_Set_ConfigUtilStr" Property="CA_SETCONFIGUTILSTR"
HideTarget="yes"
Value="[DATABASE_USERNAME]|[DATABASE_PASSWORD]|[DATABASE_SERVERNAME]|[DATABASE_NAME]|[DATABASE_WINDOWSAUTHENTICATION]|[CONFIGUTIL_SERVICE_PATH]|MyApplication.exe.config"/>

<CustomAction Id="CA_SETCONFIGUTILSTR" BinaryKey="BIN_CustomAction"
DllEntry="CallUpdateServerConnectionString" Impersonate="no"
Execute="deferred" Return="check" />

<InstallExecuteSequence>
<Custom Action="CA_SETCONFIGUTILSTR" After="InstallFiles">NOT
Installed</Custom>

in my custom action:

[CustomAction]
        public static ActionResult CallUpdateServerConnectionString(Session
session)
        {
            string configFileName = null;
            try
            {
                if (session == null)
                {
                    throw new ArgumentNullException("session");
                }

                var tempString = GetSessionProperty(session,
"CustomActionData", false);
                var parts = tempString.Split(new[] { '|' });
                var userName = parts[0];
                var userPassword = parts[1];
                var sqlServer = parts[2];
                var databaseName = parts[3];
                var tempStr = parts[4];
                var serverPath = parts[5];
                configFileName = parts[6];
                var windowsAthentication = tempStr == "1";

and the function that gets the CustomActionData is:

private static string GetSessionProperty(Session session, string
propertyName, bool isCustomActionData)
        {
            string sessionProperty = string.Empty;

            try
            {
                if (session == null)
                {
                    throw new ArgumentNullException("session");
                }

                sessionProperty = isCustomActionData ?
session.CustomActionData[propertyName] : session[propertyName];
            }
            catch (Exception ex)
            {
                WriteErrorLogInstall(session, "Exception when executing
GetSessionProperty.", ex, true);
            }

            return sessionProperty;
        }

if I call the above function with isCustomActionData = true the custom
action fails with "index was outside the bounds of the array" so it is
false.

the only part in the MSI that logs it is the CustomActionData...

How can I turn logging off when i get the CustomActionData then turn the
logging back on?

most likely something VERY simple that I have missed :(

Thanks,

Steve






--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/HELP-How-to-turn-off-Logging-with-C-custom-actions-tp7586711.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to