Re: [WiX-users] Custom action was working now it isn't.... HELP...

2013-10-31 Thread Christopher Painter
When the native bit of DTF fires up the CLR it runs it's own class in the 
middle that has it's own try catch  session.Log() block.  If there was a 
bad image format exception this should have been caught in the MSI log.  I 
suspect he didn't get this far.

The first release or so of DTF had a current directory problem that broke 
the RunDLL() call.  We had DTF custom actions that would change the current 
directory  and when the sandbox got reused it would break.  This was fixed 
though.

Hard for me to say what the real problem was here without getting it in my 
lab and profiling it.  


 From: "Phil Wilson" 
Sent: Thursday, October 31, 2013 3:57 PM
To: "General discussion about the WiX toolset." 

Subject: Re: [WiX-users] Custom action was working now it isn't 
HELP...

As a random guess based on the 1154 error, is it possible that there's 
some
C# code that is MSIL and so runs with the native bitness of the system,
but there's a dependency that is (say) 32-bit and the native code 
can't
call it? You'd expect BadImageFormatException somewhere if the chain is 
all
managed code, but assuming 1154 is correct then there's a Dll somewhere
that can't be loaded.  Something like this anyway

Phil Wilson

On Thu, Oct 31, 2013 at 1:27 PM, Steven Ogilvie 
wrote:

> Wasn't a compile error, was a runtime error...
>
> Well it is working now, very strange was doing diffs between the custom
> action cs file and the product.wxs file and can't see what could have
> broken it, like I said it was working until a few days ago...
>
> Strange
>
> -Original Message-
> From: Christopher Painter [mailto:chr...@iswix.com]
> Sent: October-31-13 4:18 PM
> To: General discussion about the WiX toolset.; General discussion about
> the WiX toolset.
> Subject: Re: [WiX-users] Custom action was working now it isn't 
HELP...
>
> Hmmm... I'm guessing there was something else at play.  DTF can handle
> entry points up to 72 characters in length before it'll throw a compile
> error.
>
> ------------
>  From: "Steven Ogilvie" 
> Sent: Thursday, October 31, 2013 2:57 PM
> To: "General discussion about the WiX toolset."
> 
> Subject: Re: [WiX-users] Custom action was working now it isn't
> HELP...
>
> So weird...
>
> Was working before, stopped working... function name had 26 characters
> removed 7 characters now it works...
>
> Go figure...
>
> Steve
>
> -Original Message-
> From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com]
> Sent: October-31-13 3:18 PM
> To: General discussion about the WiX toolset.
> Subject: Re: [WiX-users] Custom action was working now it isn't
> HELP...
>
>
> 
http://stackoverflow.com/questions/3560370/custom-action-in-c-sharp-used-via

> -wix-fails-with-error-1154
>
> Chris has quite a few suggestions on what could cause that error.
>
> -Original Message-
> From: StevenOgilvie [mailto:sogil...@msn.com]
> Sent: Thursday, October 31, 2013 2:05 PM
> To: wix-users@lists.sourceforge.net
> Subject: [WiX-users] Custom action was working now it isn't HELP...
>
> A different pair of eyes should help...
> I have a custom action that reads the registry and goes through the SQL
> Server Instances to get the last instance name (if there are more than
> one)... Was working like a charm, now for about a week it stopped 
working
> and I am getting this error:
>
> Action ended 14:57:56: CostFinalize. Return value 1.
> MSI (c) (A4:80) [14:57:56:213]: Doing action: 
CA_GetSQLServerInstanceName
> Action 14:57:56: CA_GetSQLServerInstanceName. CA: Getting SQL Server
> instance name...
> Action start 14:57:56: CA_GetSQLServerInstanceName.
> MSI (c) (A4:80) [14:57:56:240]: Creating MSIHANDLE (1) of type 790542 
for
> thread 7552 MSI (c) (A4:2C) [14:57:56:241]: Invoking remote custom 
action.
> DLL:
> C:\Users\STEVEN~1.OGI\AppData\Local\Temp\MSIF66D.tmp, Entrypoint:
> GetSQLExpressInstanceName
> MSI (c) (A4:A4) [14:57:56:242]: Cloaking enabled.
> MSI (c) (A4:A4) [14:57:56:242]: Attempting to enable all disabled
> privileges before calling Install on Server MSI (c) (A4:A4) 
[14:57:56:242]:
> Connected to service for CA interface.
> CustomAction CA_GetSQLServerInstanceName returned actual error code 1154
> but will be translated to success due to continue marking MSI (c) 
(A4:2C)
> [14:57:56:375]: Closing MSIHANDLE (1) of type 790542 for thread 7552
> Action ended 14:57:56: CA_GetSQLServerInstanceName. Return value 1.
>
> The custom action is straight forward:
>  BinaryKey="BIN_CustomAction"
> DllEntry="GetSQLExpressInstanceNam

Re: [WiX-users] Custom action was working now it isn't.... HELP...

2013-10-31 Thread Phil Wilson
As a random guess based on the 1154 error, is it possible that there's some
C# code that is MSIL and so runs with the native bitness of the system,
but there's a dependency that is (say) 32-bit and the native code can't
call it? You'd expect BadImageFormatException somewhere if the chain is all
managed code, but assuming 1154 is correct then there's a Dll somewhere
that can't be loaded.  Something like this anyway

Phil Wilson


On Thu, Oct 31, 2013 at 1:27 PM, Steven Ogilvie wrote:

> Wasn't a compile error, was a runtime error...
>
> Well it is working now, very strange was doing diffs between the custom
> action cs file and the product.wxs file and can't see what could have
> broken it, like I said it was working until a few days ago...
>
> Strange
>
> -Original Message-
> From: Christopher Painter [mailto:chr...@iswix.com]
> Sent: October-31-13 4:18 PM
> To: General discussion about the WiX toolset.; General discussion about
> the WiX toolset.
> Subject: Re: [WiX-users] Custom action was working now it isn't HELP...
>
> Hmmm... I'm guessing there was something else at play.  DTF can handle
> entry points up to 72 characters in length before it'll throw a compile
> error.
>
> 
>  From: "Steven Ogilvie" 
> Sent: Thursday, October 31, 2013 2:57 PM
> To: "General discussion about the WiX toolset."
> 
> Subject: Re: [WiX-users] Custom action was working now it isn't
> HELP...
>
> So weird...
>
> Was working before, stopped working... function name had 26 characters
> removed 7 characters now it works...
>
> Go figure...
>
> Steve
>
> -Original Message-----
> From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com]
> Sent: October-31-13 3:18 PM
> To: General discussion about the WiX toolset.
> Subject: Re: [WiX-users] Custom action was working now it isn't
> HELP...
>
>
> http://stackoverflow.com/questions/3560370/custom-action-in-c-sharp-used-via
> -wix-fails-with-error-1154
>
> Chris has quite a few suggestions on what could cause that error.
>
> -Original Message-
> From: StevenOgilvie [mailto:sogil...@msn.com]
> Sent: Thursday, October 31, 2013 2:05 PM
> To: wix-users@lists.sourceforge.net
> Subject: [WiX-users] Custom action was working now it isn't HELP...
>
> A different pair of eyes should help...
> I have a custom action that reads the registry and goes through the SQL
> Server Instances to get the last instance name (if there are more than
> one)... Was working like a charm, now for about a week it stopped working
> and I am getting this error:
>
> Action ended 14:57:56: CostFinalize. Return value 1.
> MSI (c) (A4:80) [14:57:56:213]: Doing action: CA_GetSQLServerInstanceName
> Action 14:57:56: CA_GetSQLServerInstanceName. CA: Getting SQL Server
> instance name...
> Action start 14:57:56: CA_GetSQLServerInstanceName.
> MSI (c) (A4:80) [14:57:56:240]: Creating MSIHANDLE (1) of type 790542 for
> thread 7552 MSI (c) (A4:2C) [14:57:56:241]: Invoking remote custom action.
> DLL:
> C:\Users\STEVEN~1.OGI\AppData\Local\Temp\MSIF66D.tmp, Entrypoint:
> GetSQLExpressInstanceName
> MSI (c) (A4:A4) [14:57:56:242]: Cloaking enabled.
> MSI (c) (A4:A4) [14:57:56:242]: Attempting to enable all disabled
> privileges before calling Install on Server MSI (c) (A4:A4) [14:57:56:242]:
> Connected to service for CA interface.
> CustomAction CA_GetSQLServerInstanceName returned actual error code 1154
> but will be translated to success due to continue marking MSI (c) (A4:2C)
> [14:57:56:375]: Closing MSIHANDLE (1) of type 790542 for thread 7552
> Action ended 14:57:56: CA_GetSQLServerInstanceName. Return value 1.
>
> The custom action is straight forward:
>  BinaryKey="BIN_CustomAction"
> DllEntry="GetSQLExpressInstanceName" Impersonate="no" Execute="immediate"
> Return="ignore" />
> 
>   CA: Getting SQL
> Server instance name...
> 
>
> 
>After="InstallInitialize">NOT Installed
>
> 
>Before="MigrateFeatureStates">NOT Installed
>
> Using a DTF custom action dll:
>
> /// 
> /// Gets the SQL Server Express instance name for the SERVER_NAME ///
>  /// Session session /// ActionResult Success
> [CustomAction] public static ActionResult GetSQLExpressInstanceName(Session
> session) {
> try
> {
> if (session == null)
> {
> throw new ArgumentNullException("session");
> }
>
> SetSessionProperty(session, "SQLSERVEREXPRESS

Re: [WiX-users] Custom action was working now it isn't.... HELP...

2013-10-31 Thread Steven Ogilvie
Wasn't a compile error, was a runtime error...

Well it is working now, very strange was doing diffs between the custom action 
cs file and the product.wxs file and can't see what could have broken it, like 
I said it was working until a few days ago...

Strange

-Original Message-
From: Christopher Painter [mailto:chr...@iswix.com] 
Sent: October-31-13 4:18 PM
To: General discussion about the WiX toolset.; General discussion about the WiX 
toolset.
Subject: Re: [WiX-users] Custom action was working now it isn't HELP...

Hmmm... I'm guessing there was something else at play.  DTF can handle entry 
points up to 72 characters in length before it'll throw a compile error. 


 From: "Steven Ogilvie" 
Sent: Thursday, October 31, 2013 2:57 PM
To: "General discussion about the WiX toolset." 

Subject: Re: [WiX-users] Custom action was working now it isn't 
HELP...

So weird...

Was working before, stopped working... function name had 26 characters removed 
7 characters now it works...

Go figure...

Steve

-Original Message-
From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com]
Sent: October-31-13 3:18 PM
To: General discussion about the WiX toolset.
Subject: Re: [WiX-users] Custom action was working now it isn't 
HELP...

http://stackoverflow.com/questions/3560370/custom-action-in-c-sharp-used-via
-wix-fails-with-error-1154

Chris has quite a few suggestions on what could cause that error.

-Original Message-
From: StevenOgilvie [mailto:sogil...@msn.com]
Sent: Thursday, October 31, 2013 2:05 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Custom action was working now it isn't HELP...

A different pair of eyes should help...
I have a custom action that reads the registry and goes through the SQL Server 
Instances to get the last instance name (if there are more than one)... Was 
working like a charm, now for about a week it stopped working and I am getting 
this error:

Action ended 14:57:56: CostFinalize. Return value 1.
MSI (c) (A4:80) [14:57:56:213]: Doing action: CA_GetSQLServerInstanceName 
Action 14:57:56: CA_GetSQLServerInstanceName. CA: Getting SQL Server instance 
name...
Action start 14:57:56: CA_GetSQLServerInstanceName.
MSI (c) (A4:80) [14:57:56:240]: Creating MSIHANDLE (1) of type 790542 for 
thread 7552 MSI (c) (A4:2C) [14:57:56:241]: Invoking remote custom action. 
DLL:
C:\Users\STEVEN~1.OGI\AppData\Local\Temp\MSIF66D.tmp, Entrypoint:
GetSQLExpressInstanceName
MSI (c) (A4:A4) [14:57:56:242]: Cloaking enabled.
MSI (c) (A4:A4) [14:57:56:242]: Attempting to enable all disabled privileges 
before calling Install on Server MSI (c) (A4:A4) [14:57:56:242]: 
Connected to service for CA interface.
CustomAction CA_GetSQLServerInstanceName returned actual error code 1154 but 
will be translated to success due to continue marking MSI (c) (A4:2C)
[14:57:56:375]: Closing MSIHANDLE (1) of type 790542 for thread 7552 Action 
ended 14:57:56: CA_GetSQLServerInstanceName. Return value 1.

The custom action is straight forward:


  CA: Getting SQL Server 
instance name...



  NOT Installed


  NOT Installed

Using a DTF custom action dll:

/// 
/// Gets the SQL Server Express instance name for the SERVER_NAME /// 
 /// Session session /// ActionResult Success 
[CustomAction] public static ActionResult GetSQLExpressInstanceName(Session
session) {
try
{
if (session == null)
{
throw new ArgumentNullException("session");
}

SetSessionProperty(session, "SQLSERVEREXPRESS_INSTANCE", 
string.Empty);

const string Key = @"SOFTWARE\\Microsoft\\Microsoft SQL 
Server\\Instance Names\\SQL";
var localMachine = RegistryKey.OpenBaseKey(
RegistryHive.LocalMachine,
Environment.Is64BitOperatingSystem ?
RegistryView.Registry64 : RegistryView.Registry32);
var regKey = localMachine.OpenSubKey(Key);
if (regKey != null)
{
foreach (var valueName in regKey.GetValueNames())
{
if (!string.Equals(valueName, "MSSQLSERVER"))
{
var expressKey = @"SOFTWARE\\Microsoft\\Microsoft 
SQL Server\\" + valueName;
var expressRegKey = 
localMachine.OpenSubKey(expressKey);
if (expressRegKey != null)
{
SetSessionProperty(session, 
"SQLSERVEREXPRESS_INSTANCE", "\\" + valueName);
}
}
}
}
}
catch (Exception ex)
{
WriteErrorLogInstall(sessi

Re: [WiX-users] Custom action was working now it isn't.... HELP...

2013-10-31 Thread Bruce Cran
On 10/31/2013 7:50 PM, Steven Ogilvie wrote:
> So weird...
>
> Was working before, stopped working... function name had 26 characters 
> removed 7 characters now it works...

Something we discussed today was how the CA log name when calling 
WcaInitialize() has a maximum of 32 characters - anything more than that 
and it fails with an "Insufficient buffer" error. Could something 
similar be happening?

-- 
Bruce Cran

--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Custom action was working now it isn't.... HELP...

2013-10-31 Thread Christopher Painter
Hmmm... I'm guessing there was something else at play.  DTF can handle 
entry points up to 72 characters in length before it'll throw a compile 
error. 


 From: "Steven Ogilvie" 
Sent: Thursday, October 31, 2013 2:57 PM
To: "General discussion about the WiX toolset." 

Subject: Re: [WiX-users] Custom action was working now it isn't 
HELP...

So weird...

Was working before, stopped working... function name had 26 characters 
removed 7 characters now it works...

Go figure...

Steve

-Original Message-
From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] 
Sent: October-31-13 3:18 PM
To: General discussion about the WiX toolset.
Subject: Re: [WiX-users] Custom action was working now it isn't 
HELP...

http://stackoverflow.com/questions/3560370/custom-action-in-c-sharp-used-via
-wix-fails-with-error-1154

Chris has quite a few suggestions on what could cause that error.

-Original Message-
From: StevenOgilvie [mailto:sogil...@msn.com]
Sent: Thursday, October 31, 2013 2:05 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Custom action was working now it isn't HELP...

A different pair of eyes should help...
I have a custom action that reads the registry and goes through the SQL 
Server Instances to get the last instance name (if there are more than 
one)... Was working like a charm, now for about a week it stopped working 
and I am getting this error:

Action ended 14:57:56: CostFinalize. Return value 1.
MSI (c) (A4:80) [14:57:56:213]: Doing action: CA_GetSQLServerInstanceName 
Action 14:57:56: CA_GetSQLServerInstanceName. CA: Getting SQL Server 
instance name...
Action start 14:57:56: CA_GetSQLServerInstanceName.
MSI (c) (A4:80) [14:57:56:240]: Creating MSIHANDLE (1) of type 790542 for 
thread 7552 MSI (c) (A4:2C) [14:57:56:241]: Invoking remote custom action. 
DLL:
C:\Users\STEVEN~1.OGI\AppData\Local\Temp\MSIF66D.tmp, Entrypoint:
GetSQLExpressInstanceName
MSI (c) (A4:A4) [14:57:56:242]: Cloaking enabled.
MSI (c) (A4:A4) [14:57:56:242]: Attempting to enable all disabled 
privileges before calling Install on Server MSI (c) (A4:A4) [14:57:56:242]: 
Connected to service for CA interface.
CustomAction CA_GetSQLServerInstanceName returned actual error code 1154 
but will be translated to success due to continue marking MSI (c) (A4:2C) 
[14:57:56:375]: Closing MSIHANDLE (1) of type 790542 for thread 7552 Action 
ended 14:57:56: CA_GetSQLServerInstanceName. Return value 1.

The custom action is straight forward:


  CA: Getting SQL 
Server instance name...



  NOT Installed


  NOT Installed

Using a DTF custom action dll:

/// 
/// Gets the SQL Server Express instance name for the SERVER_NAME /// 
 /// Session session /// ActionResult Success 
[CustomAction] public static ActionResult GetSQLExpressInstanceName(Session 
session) {
try
{
if (session == null)
{
throw new ArgumentNullException("session");
}

SetSessionProperty(session, "SQLSERVEREXPRESS_INSTANCE", 
string.Empty);

const string Key = @"SOFTWARE\\Microsoft\\Microsoft SQL 
Server\\Instance Names\\SQL";
var localMachine = RegistryKey.OpenBaseKey(
RegistryHive.LocalMachine,
Environment.Is64BitOperatingSystem ?
RegistryView.Registry64 : RegistryView.Registry32);
var regKey = localMachine.OpenSubKey(Key);
if (regKey != null)
{
foreach (var valueName in regKey.GetValueNames())
{
if (!string.Equals(valueName, "MSSQLSERVER"))
{
var expressKey = 
@"SOFTWARE\\Microsoft\\Microsoft SQL Server\\" + valueName;
var expressRegKey = 
localMachine.OpenSubKey(expressKey);
if (expressRegKey != null)
{
SetSessionProperty(session, 
"SQLSERVEREXPRESS_INSTANCE", "\\" + valueName);
}
}
}
}
}
catch (Exception ex)
{
WriteErrorLogInstall(session, "GetSQLExpressInstanceName
failed: ", ex, true);
}

return ActionResult.Success; }

Any ideas why this isn't working?

thanks,

Steve

--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Custom-action-
was-working-now-it-isn-t-HELP-tp7590194.html
Sent from the wix-users mailing list archive at Nabble.com.


--
Android is increasing in popularity, but the open development platfor

Re: [WiX-users] Custom action was working now it isn't.... HELP...

2013-10-31 Thread Steven Ogilvie
So weird...

Was working before, stopped working... function name had 26 characters removed 
7 characters now it works...

Go figure...

Steve

-Original Message-
From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] 
Sent: October-31-13 3:18 PM
To: General discussion about the WiX toolset.
Subject: Re: [WiX-users] Custom action was working now it isn't HELP...

http://stackoverflow.com/questions/3560370/custom-action-in-c-sharp-used-via-wix-fails-with-error-1154

Chris has quite a few suggestions on what could cause that error.

-Original Message-
From: StevenOgilvie [mailto:sogil...@msn.com]
Sent: Thursday, October 31, 2013 2:05 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Custom action was working now it isn't HELP...

A different pair of eyes should help...
I have a custom action that reads the registry and goes through the SQL Server 
Instances to get the last instance name (if there are more than one)... Was 
working like a charm, now for about a week it stopped working and I am getting 
this error:

Action ended 14:57:56: CostFinalize. Return value 1.
MSI (c) (A4:80) [14:57:56:213]: Doing action: CA_GetSQLServerInstanceName 
Action 14:57:56: CA_GetSQLServerInstanceName. CA: Getting SQL Server instance 
name...
Action start 14:57:56: CA_GetSQLServerInstanceName.
MSI (c) (A4:80) [14:57:56:240]: Creating MSIHANDLE (1) of type 790542 for 
thread 7552 MSI (c) (A4:2C) [14:57:56:241]: Invoking remote custom action. DLL:
C:\Users\STEVEN~1.OGI\AppData\Local\Temp\MSIF66D.tmp, Entrypoint:
GetSQLExpressInstanceName
MSI (c) (A4:A4) [14:57:56:242]: Cloaking enabled.
MSI (c) (A4:A4) [14:57:56:242]: Attempting to enable all disabled privileges 
before calling Install on Server MSI (c) (A4:A4) [14:57:56:242]: Connected to 
service for CA interface.
CustomAction CA_GetSQLServerInstanceName returned actual error code 1154 but 
will be translated to success due to continue marking MSI (c) (A4:2C) 
[14:57:56:375]: Closing MSIHANDLE (1) of type 790542 for thread 7552 Action 
ended 14:57:56: CA_GetSQLServerInstanceName. Return value 1.


The custom action is straight forward:


  CA: Getting SQL Server 
instance name...



  NOT 
Installed


  NOT Installed

Using a DTF custom action dll:

/// 
/// Gets the SQL Server Express instance name for the SERVER_NAME /// 
 /// Session session /// ActionResult Success 
[CustomAction] public static ActionResult GetSQLExpressInstanceName(Session 
session) {
try
{
if (session == null)
{
throw new ArgumentNullException("session");
}

SetSessionProperty(session, "SQLSERVEREXPRESS_INSTANCE", 
string.Empty);

const string Key = @"SOFTWARE\\Microsoft\\Microsoft SQL 
Server\\Instance Names\\SQL";
var localMachine = RegistryKey.OpenBaseKey(
RegistryHive.LocalMachine,
Environment.Is64BitOperatingSystem ?
RegistryView.Registry64 : RegistryView.Registry32);
var regKey = localMachine.OpenSubKey(Key);
if (regKey != null)
{
foreach (var valueName in regKey.GetValueNames())
{
if (!string.Equals(valueName, "MSSQLSERVER"))
{
var expressKey = @"SOFTWARE\\Microsoft\\Microsoft 
SQL Server\\" + valueName;
var expressRegKey = 
localMachine.OpenSubKey(expressKey);
if (expressRegKey != null)
{
SetSessionProperty(session, 
"SQLSERVEREXPRESS_INSTANCE", "\\" + valueName);
}
}
}
}
}
catch (Exception ex)
{
WriteErrorLogInstall(session, "GetSQLExpressInstanceName
failed: ", ex, true);
}

return ActionResult.Success; }

Any ideas why this isn't working?

thanks,

Steve



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Custom-action-was-working-now-it-isn-t-HELP-tp7590194.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Android is increasing in popularity, but the open development platform that 
developers love is also attractive to malware creators. Download this white 
paper to learn more about secure code signing practices that can help keep 
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Custom action was working now it isn't.... HELP...

2013-10-31 Thread Hoover, Jacob
http://stackoverflow.com/questions/3560370/custom-action-in-c-sharp-used-via-wix-fails-with-error-1154

Chris has quite a few suggestions on what could cause that error.

-Original Message-
From: StevenOgilvie [mailto:sogil...@msn.com] 
Sent: Thursday, October 31, 2013 2:05 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Custom action was working now it isn't HELP...

A different pair of eyes should help...
I have a custom action that reads the registry and goes through the SQL Server 
Instances to get the last instance name (if there are more than one)... Was 
working like a charm, now for about a week it stopped working and I am getting 
this error:

Action ended 14:57:56: CostFinalize. Return value 1.
MSI (c) (A4:80) [14:57:56:213]: Doing action: CA_GetSQLServerInstanceName 
Action 14:57:56: CA_GetSQLServerInstanceName. CA: Getting SQL Server instance 
name...
Action start 14:57:56: CA_GetSQLServerInstanceName.
MSI (c) (A4:80) [14:57:56:240]: Creating MSIHANDLE (1) of type 790542 for 
thread 7552 MSI (c) (A4:2C) [14:57:56:241]: Invoking remote custom action. DLL:
C:\Users\STEVEN~1.OGI\AppData\Local\Temp\MSIF66D.tmp, Entrypoint:
GetSQLExpressInstanceName
MSI (c) (A4:A4) [14:57:56:242]: Cloaking enabled.
MSI (c) (A4:A4) [14:57:56:242]: Attempting to enable all disabled privileges 
before calling Install on Server MSI (c) (A4:A4) [14:57:56:242]: Connected to 
service for CA interface.
CustomAction CA_GetSQLServerInstanceName returned actual error code 1154 but 
will be translated to success due to continue marking MSI (c) (A4:2C) 
[14:57:56:375]: Closing MSIHANDLE (1) of type 790542 for thread 7552 Action 
ended 14:57:56: CA_GetSQLServerInstanceName. Return value 1.


The custom action is straight forward:


  CA: Getting SQL Server 
instance name...



  NOT 
Installed


  NOT Installed

Using a DTF custom action dll:

/// 
/// Gets the SQL Server Express instance name for the SERVER_NAME /// 
 /// Session session /// ActionResult Success 
[CustomAction] public static ActionResult GetSQLExpressInstanceName(Session 
session) {
try
{
if (session == null)
{
throw new ArgumentNullException("session");
}

SetSessionProperty(session, "SQLSERVEREXPRESS_INSTANCE", 
string.Empty);

const string Key = @"SOFTWARE\\Microsoft\\Microsoft SQL 
Server\\Instance Names\\SQL";
var localMachine = RegistryKey.OpenBaseKey(
RegistryHive.LocalMachine,
Environment.Is64BitOperatingSystem ?
RegistryView.Registry64 : RegistryView.Registry32);
var regKey = localMachine.OpenSubKey(Key);
if (regKey != null)
{
foreach (var valueName in regKey.GetValueNames())
{
if (!string.Equals(valueName, "MSSQLSERVER"))
{
var expressKey = @"SOFTWARE\\Microsoft\\Microsoft 
SQL Server\\" + valueName;
var expressRegKey = 
localMachine.OpenSubKey(expressKey);
if (expressRegKey != null)
{
SetSessionProperty(session, 
"SQLSERVEREXPRESS_INSTANCE", "\\" + valueName);
}
}
}
}
}
catch (Exception ex)
{
WriteErrorLogInstall(session, "GetSQLExpressInstanceName
failed: ", ex, true);
}

return ActionResult.Success; }

Any ideas why this isn't working?

thanks,

Steve



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Custom-action-was-working-now-it-isn-t-HELP-tp7590194.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Android is increasing in popularity, but the open development platform that 
developers love is also attractive to malware creators. Download this white 
paper to learn more about secure code signing practices that can help keep 
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
___
WiX-users mailing list
WiX-users@lists.s