Monday, April 26, 2010

Connecting to SDE Personal Edition

Thanks a bunch to this post, I was able to connect to SDE Personal:

Thursday, April 22, 2010

Assembly Version vs. File Version

Oh, so that's how it works...

http://support.microsoft.com/kb/556041

The Assembly version should remain fixed during development so that assemblies can easily overwritten, without changing any references.

The File version is never used by the .NET framework, but is for file system version display.

So why can't I add the * to my File version then?

Writing Patches for MSI

I haven't actually used this yet, but I have searched for it before, so I'm putting it here so I remember where it is. It describes how to write patches for applications installed with MSI.

Tuesday, April 20, 2010

ESRI ArcObjects IObjectInspector

Working on an Object Inspector extension for Landfile project. Having some difficulty, it doesn't appear that it is easy to handle the editing of features through a custom extension.

Here are the steps to implement.

01. Implement IObjectInspector, IClassExtension, and IFeatureClassExtension in your custom inspector form.

02. In the code for the Inspect method, use the user32 SetParent and ShowWindow methods to set the parent of the default inspector to your custom window and show the window. This was a little tricky because of the syntax of SetParent, and the architecture of ArcMap. The correct usage (finally!) was:

SetParent(DefaultObjectInspector,CustomObjectInspector)
ShowWindow(CustomObjectInspector)

03. Build the project and register the type with regasm.

04. Set the Class Extension using ArcObjects IFeatureWorkspaceSchemaEdit AlterClassExtensionCLSID method, passing the CLSID of your custom extension.

05.

Friday, April 16, 2010

Outlook Tagging

I haven't installed it yet, but tagging in Outlook seems promising - I hope it delivers!

http://www.taglocity.com/index.html

Monday, April 12, 2010

DB2 Frustration

During development of the Landfile application, I had the need to call a stored procedure in a DB2 (AS/400) environment based on multiple points selected in an ArcMap interface. If a single point was selected, the procedure would run fine. However, if multiple points were selected, the first execution would complete, but the process would hang thereafter.

In working with the AS/400 guru, we came to discover that the stored procedure was not exiting after the first call, which was causing the process to hang. It also attempted to modify the Library List that was loaded by the first iteration of the process. Once he killed that stored procedure after every call, it worked as expected. Not terribly performant, but at least working.

Friday, April 9, 2010

MSI and File Versions

Got stung again by File Versioning in MSI. If the file version in the installer isn't greater than the file version on the server, the file will not be reinstalled. I thought the File Version property in the project properties set this version for files, but apparently it does not - so my file changes are not being deployed, even though I am continuously incrementing the File Version property.

So what I found was the REINSTALLMODE option for msiexec. Installing the MSI like this did the trick:

msiexec /i <MsiName> REINSTALLMODE=a

Here is the list of REINSTALLMODE options.

Wednesday, April 7, 2010

ASP in ASP.NET Context

An interesting project for those of us who still have to muck with Classic ASP, this compiles Classic ASP to ASP.NET.