Heading to Insights

Next week marks the arrival of the annual Sage Insights partner conference. The really great thing about this conference is the social aspect of it. SalesLogix business partners are a pretty close group and communicate ‘virtually’ often, but at the conference the face to face is a great way to see who was behind the blog, newsgroup, or forum post and interact in a very personal way. Unfortunately I did not make it last year but have decided to head on down to Washington for this years events. I am looking forward to seeing old familiar faces and introduce myself/be introduced to new ones. I truly believe that the success in the partner community is to be shared and only strengthens the community as a whole.

Hoping to meet you at Insights.

– Mark

SalesLogix Web Client Working on Vista 64

Earlier I posted on the fact that getting the SalesLogix web client working on vista not quite possible at this time. I am really happy to say that after some poking, a little log browsing an a google search I now have it working correctly.

To figure out what was going wrong for me I turned on assembly binding logs (fuslogvw.exe) , choosing to only log failures. I set the log path to a simple c:\log directory. Since I really only cared about the failure at this time I turned on ‘Only log bind failures to disk’.

Running this utility will add some settings into the registry under HKLM\Software\Microsoft\Fusion

DWORD LogFailures  – will store a value of 1 meaning to log bindings (you can change this to 0 to disable logging)

SZ LogPath – Location to log the binding failures

I then tried to open the web site where an error was reported. I went into the log folder that I designated  and noticed a file for dtSearchNetApi2 and opened it discovering that the assembly was found but a HRESULT was being returned with the value of 0x800700b. This is where google came in and I discovered that the issue I was having was with regards to 64 bit app pool and 32 bit interop.

More so I was able to easily find an answer to my problem and got it working.

So, to get it working on a 64 bit machine there are 2 things you have to do;

1. Ensure that the site AppPool is setup with Classic Asp.net

2. On 64 bit machines since there is some COM Interop interacting with 32 bit dll’s you will need to enable 32 bit application pools.

Type the following at a command line prompt

cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1

To turn off the 32 bit application pool change the last value to a 0

cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 0

Thanks to Ryan Hoffman for information about this setting.

– Mark

SalesLogix Web on Vista

Support for SalesLogix 7.x on IIS 7.0 is still not there and for developers this can be a pain and at times can limit adoption to Vista. However all is not lost since most of us are develop using Visual Studio in some capacitiy. Provided with Visual Studio is a personal development web server ‘WebDev.WebServer.exe’. Now do not expect all of the capabilities that are included within IIS, since this is a light ‘Cassini’ like web server it is not practical to expect more then what is required to zip around asp.net web sites.

The location of the server initially eluded me as it was supposed to be in the .net 2.0 framework directory but I could not find it there. After a little digging into the registry (Search ‘WebDev.’ F3) I was able to locate the application in the;

c:/Program Files/(x86)Common Files/Microsoft Shared/DevServer/9.0/ Folder

Note that I am running the 64bit version of vista hence the path. The dev server is a windows application that allows for some command line arguments to be passed in to configure a single web site instance. The usage is as such;

WebDev.WebServer.exe /port:<port number> /path:<physical path> /vpath

By default you would be deploying the SalesLogix web client to c:\inetpub\wwwroot\slxclient . So to run the client on port 8085 just execute the following statement :

WebDev.WebServer.exe /port:8085 /path:”c:\inetpub\wwwroot\slxclient” /vpath:”/SlxClient”

Trying to state the server without any command line arguments will display the help dialog showing the usage details.

The final thing that I like to do is to create a shortcut to the server and set the arguments so that I have quick access to the startup instance of any given development web.

That’s it for now

– Mark