Skip to Content.

mget-help - Re: [mget-help] Error Messages with Installation of MGET 0.8 alpha 4 (for Python 2.5)

Please Wait...

Subject: Marine Geospatial Ecology Tools (MGET) help

Text archives


From: Thomas Moore <>
To: Jason Roberts <>
Cc:
Subject: Re: [mget-help] Error Messages with Installation of MGET 0.8 alpha 4 (for Python 2.5)
Date: Thu, 21 Jan 2010 18:11:30 -0800
Jason:

I performed the test using the two different installation approaches with Vista. The solution is to use "Run as Administrator" in the installation process. Thanks. It is a smooth install from there and all files are located where you would expect them to be on both the C: and D: drives (D: drive in my case because Python is installed there).

So, even though you might have a user account that is set up for local admin/admin group, it does make a difference to use "Run as Administrator." I thought I did use that approach initially, but apparently not.

Thanks again,

TJ

T.J. Moore
NOAA Fisheries
Southwest Fisheries Science Center
Protected Resources Division
8604 La Jolla Shores Dr.
La Jolla, CA 92037
T:858-546-7088
F:858-546-7003
Email: 

URL: http://swfsc.noaa.gov



Jason Roberts wrote:
TJ,

Thanks very much for offering to help me get to the bottom of this.

So, when logged in to my local admin account I see the MGET toolbox in ArcGIS, and it appears to work (I tested a routine or two). However, I don't see GeoEco showing up in the Control Panel!

In order for it to show up in the list, the installer must be able to write
to certain parts of the Windows registry. We saw with your original error
messages how the installer could not complete the COM registration step due
to a denial of access to the registry. I think the same thing is happening
here.
Basically, Vista includes this additional security measure that local admins
are no longer permitted to write to certain parts of the registry unless
specific steps are taken. I think this was to protect people from viruses
that come in email and from IE bugs. You're supposed to receive a prompt
asking if you want to permit the operation. But for some reason, the Python
2.5 installer code does not result in this. It is like Vista silently denies
access.

I see a program called RemoveGeoEco.exe in the Python25 folder. I'm tempted to run that, but want to check with you.

Yes, I think you can run that. You should use a command line similar to the
following:

"C:\Python25\RemoveGeoEco.exe" -u "C:\Python25\GeoEco-wininst.log"

Of course, you should replace the C:\Python25 with the appropriate path.

Do you currently have the GeoEco-wininst.log there? If so, could you send it
to me? This log is not always generated, but when it is, sometimes it has
useful information. I should have asked for it in the first place. Please
send it *before* trying the uninstallation.

Also, when logged in under another account that is not an admin account, I don't see the MGET toolbox in ArcGIS.

This is because the installer only adds the toolbox to ArcGIS for the user
who ran the installer. It is this way because the installer must start up
ArcCatalog just to add the toolbox. Starting ArcCatalog typically takes 15
to 60 seconds, depending on the machine and the license configuration. I
considered designing the installer to loop through all the users on the
machine. But at 15 to 60 seconds per user, the installer would take forever
on certain machines. Plus, the ArcCatalog process must be started under each
user's account, which is very complicated security-wise. I decided it wasn't
worth it. (Now, if only ESRI would not have such a complicated way of adding
toolboxes to ArcCatalog...)

However, I can "Add Toolbox" and go to the location on the D drive where the .tbx file is and then add it.

That is the right thing to do. But the .tbx file actually appears in two
places: the C:\Python\Lib\site-packages\GeoEco\ArcGISToolbox directory (or
D:\Python25 or whatever) and the C:\Program Files\GeoEco\ArcGISToolbox
directory. I highly recommend you use the .tbx from the second place. It is
identical to the one in the first place (the one for Arc 9.3 in your case)
but, by using the second place, any models you build that include MGET tools
are more likely to be easily portable to other machines.

ArcGIS has this unfortunate design that the models store the path to the
toolbox .tbx file. Because Python is often installed to other drives and
directories, as in your case, it means having the .tbx there (as was done in
MGET 0.6 and earlier) is not very reliable. Although it is possible to
change the Program Files directory from C:\Program Files to some other
place, most people do not do that because it causes problems with many
programs. Thus C:\Program Files is the more reliable choice.

It wouldn't take much effort to test this. Let me know if I should use RemoveGeoEco.exe to uninstall and I'll go from there.

If you could test this out, I would really appreciate it. Basically, we're
trying to find the condition that consistently causes the failure and the
minimum things we need to do to make it go away. My operative theory is
that, when Windows UAC is enabled (as it is for all people who have not
specifically turned it off), you will get this error unless you do Run As
Administrator. If you could confirm or refute this theory, it would be
really helpful!

Best,
Jason


-----Original Message-----
From: Thomas Moore [mailto:] Sent: Thursday, January 21, 2010 4:24 PM
To: Jason Roberts
Cc: 

Subject: Re: [mget-help] Error Messages with Installation of MGET 0.8 alpha
4 (for Python 2.5)

Jason:

Thanks for your follow up.

Just a point of clarification and additional info. My version of Python is 2.5.1. Also, ArcGIS happened to install Python on the D drive for some reason.

So, when logged in to my local admin account I see the MGET toolbox in ArcGIS, and it appears to work (I tested a routine or two). However, I don't see GeoEco showing up in the Control Panel! Maybe because it is installed on the D drive? In this situation, how would you uninstall GeoEco? I see a program called RemoveGeoEco.exe in the Python25 folder. I'm tempted to run that, but want to check with you.

Also, when logged in under another account that is not an admin account, I don't see the MGET toolbox in ArcGIS. However, I can "Add Toolbox" and go to the location on the D drive where the .tbx file is and then add it. It works. So, just an FYI.

I believe I used "Run as Administrator" but can't be sure. I'm new to Vista and just started to realize this after installing software on a new machine recently. It wouldn't take much effort to test this. Let me know if I should use RemoveGeoEco.exe to uninstall and I'll go from there.

Thanks,

TJ



T.J. Moore
NOAA Fisheries
Southwest Fisheries Science Center
Protected Resources Division
8604 La Jolla Shores Dr.
La Jolla, CA 92037
T:858-546-7088
F:858-546-7003
Email: 

URL: http://swfsc.noaa.gov



Jason Roberts wrote:
Hi TJ,

Thank you very much for contacting us about this, and for providing the
detailed information. I have seen evidence of this in the installation
reports that we receive automatically, but there is not enough information
in them to diagnose the problem, so I've had trouble nailing it. My
current
suspicion is that this has something to do with Windows User Account
Control
(UAC) or the other security changes that went into Windows Vista.

The messages you are seeing indicate that MGET had trouble registering
itself with the Microsoft Component Object Model (COM) system. As a
result,
you will not be able to run MGET tools from programming languages other
than
Python. But this does not affect ArcGIS; you should still be able to run
MGET from ArcGIS just fine. Therefore, unless you plant to write some
programs, you don't have anything to worry about.

I have one question and one favor to ask, if it's not too much trouble:

The question: When you installed it, did you save the downloaded
installation program some place, right click on it, and select Run As
Administrator? Starting with Windows Vista, this is effectively the "no,
really, I DO MEAN IT" command when it comes to installing things. I think
the Python 2.5 installation code, written before Vista was released, is
not
aware of some of the additional security impositions that occur even when
the user's account is part of the Administrators group. In order to get
full
administrator access like you had on Windows XP, you have use Run As
Administrator.

The favor: Assuming the answer to the above is no, could you please try
the
following:

1. Shut down all ArcGIS apps.

2. Uninstall MGET (start Control Panel, switch to Classic View, open
Programs and Features, find Python 2.5 GeoEco-0.8a4 and remove it).

3. Install MGET again the *exact same way* as last time, i.e. without
using
Run As Administrator, and verify that the problem reproduces.

4. Uninstall MGET again.

5. Now install it but use Run As Administrator.

Let me know if you could repro it in step 3 but not in step 5.

If this is too much of a hassle, please don't worry about it. I can
eventually get access to a Vista machine to try this on. (I have one
already, but it is not in a good state...)

If this *is* the problem, I'm pretty sure I can develop a test for it, so
the installer will warn you prior to starting that you have not done Run
As
Administrator and gives instructions on how to do it.

Thanks again,

Jason

-----Original Message-----
From: Thomas Moore [mailto:] Sent: Wednesday, January 20, 2010 9:02 PM
To: 

Subject: [mget-help] Error Messages with Installation of MGET 0.8 alpha 4
(for Python 2.5)

Installing this file:  GeoEco-0.8a4.win32-py2.5.exe

System:  Windows Vista OS (64-bit machine)
ESRI:  ArcGIS 9.3.1 SP 1 (Build 3500)
Python:  Python 2.5

I get the following two messages:

"The MGET setup program was unable to register one or more classes from the Python GeoEco package as COM Automation classes. As a result, you will not be able to invoke these GeoEco classes from programming languages other than Python via COM Automation (i.e., the IDispatch COM Interface). This problem is rate and unexpected. Please contact the MGET development team for help with resolving it. Please provide the following debugging info:

The Python win32.com.server.register.RegisterServer function raised error: (5, 'RegSetValue', 'Access is denied.')"

"The MGET setup program was unable to register one or more classes from the Python GeoEco package as COM Automation classes. As a result, you will not be able to invoke these GeoEco classes from programming languages other than Python via COM Automation (i.e., the IDispatch COM Interface). This problem is rate and unexpected. Please contact the MGET development team for help with resolving it. Please provide the following debugging info:

python.com.RegisterTypeLib (tli, 'D:\Python25\lib\site-packages\GeoEco\COM\GeoEco.tlb') reported: com_error: (-2147319780, 'Error accessing the OLE registry.', None, None)"

The software seems to have installed correctly otherwise and I recall testing an MGET function so I believe parts of it are working OK. It's not critical, but just an FYI.

By the way, I installed the software as local administrator.

TJ


Archives powered by MHonArc.
Top of Page