Page 1 of 1

Windows 7, install from workspace can't locate gacutil

PostPosted: Mon Nov 26, 2012 9:26 am
by pchapin
I just updated my working copy and then ran the install from workspace script. I'm on Windows 7, 64 bit. I have Visual Studio 2012 installed with .NET 4.5 (I believe it is). I'm getting:

Code: Select all
==== Install Cobra.Core library to the GAC

** ERROR: Cannot locate a gacutil. Maybe you can try again using the "Visual Studio Command Prompt
" or ".NET SDK Command Prompt".
You may need to install the Windows SDK (https://www.google.com/search?q=windows+sdk+.net+4)
Need help with the above error?
 * Make sure you ran as a Windows Administrator.
 * Install .NET or a Visual Studio product if you have not before.
 * Review http://cobra-language.com/troubleshooting
 * Ask at http://cobra-language.com/discuss
 * Ask at http://cobra-language.com/irc


When I first installed Visual Studio 2012 I had this problem... or at least a very similar one. In a thread on this forum (I can't find it) I posted some paths to the various .NET 4.5 entities. The issue was fixed (thanks) and all worked well. So it appears like the issue has returned... or else this is a different issue?

Re: Windows 7, install from workspace can't locate gacutil

PostPosted: Mon Nov 26, 2012 9:28 am
by Charles
0.9.1 was a "patch release". Maybe I forgot to push the mods back into the repository. I'll check.

Re: Windows 7, install from workspace can't locate gacutil

PostPosted: Mon Nov 26, 2012 9:38 am
by Charles
Well the change definitely made it in there:
http://cobra-language.com/trac/cobra/changeset/2807/

Maybe the culprit was this?
http://cobra-language.com/trac/cobra/changeset/2835/

I'll check on my Win 7 64-bit system.

Re: Windows 7, install from workspace can't locate gacutil

PostPosted: Mon Nov 26, 2012 9:49 am
by Charles
Works for me on Win 7 64-bit. Copied from the installer output:
Code: Select all
run: C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\gacutil.exe -i Cobra.Core.dll -f

Do you have that path? Do you know enough Cobra to debug the installer yourself? The relevant method is:
def locateGacUtil(startStage as bool)  # line 589

Is the suggestion you got in the installer output revelant?:
Code: Select all
** ERROR: Cannot locate a gacutil. Maybe you can try again using the "Visual Studio Command Prompt
" or ".NET SDK Command Prompt".
You may need to install the Windows SDK (https://www.google.com/search?q=windows+sdk+.net+4)


My final result:
Code: Select all
>cobra -about
The Cobra Programming Language 0.9.2
on .NET CLR v4.0.30319 on Microsoft Windows NT 6.1.7601 Service Pack 1
at C:\Cobra\Cobra-0.9.2\bin\cobra.exe

Re: Windows 7, install from workspace can't locate gacutil

PostPosted: Mon Nov 26, 2012 4:10 pm
by pchapin
Charles wrote:Works for me on Win 7 64-bit. Copied from the installer output:
Code: Select all
run: C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\gacutil.exe -i Cobra.Core.dll -f

Do you have that path?


I have gacutil.exe at the location mentioned above, yes.

Do you know enough Cobra to debug the installer yourself?


I could give it a shot but it will have to wait until tomorrow at least (or maybe later).

Is the suggestion you got in the installer output revelant?:
Code: Select all
** ERROR: Cannot locate a gacutil. Maybe you can try again using the "Visual Studio Command Prompt
" or ".NET SDK Command Prompt".
You may need to install the Windows SDK (https://www.google.com/search?q=windows+sdk+.net+4)


I could try using a Visual Studio Command Prompt also, however that wasn't necessary before.

Re: Windows 7, install from workspace can't locate gacutil

PostPosted: Mon Nov 26, 2012 8:59 pm
by nerdzero
I am getting the same error in Windows 8 64-bit.

Charles,

I think you have your Windows machine set to 32-bit CLR. Check that Ldr64.exe returns 1 instead of 0

Code: Select all
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Ldr64.exe query


When I switched to 32-bit mode and installed with -x86, then everything worked.

Code: Select all
Cobra 0.9.2 on .NET CLR v4.0.30319 on Microsoft Windows NT 6.2.9200.0

This is because that darn PROGRAMFILES environment variable includes " (x86)" when running in 32-bit mode but not when running in 64-bit mode. I confirmed this by adding a trace to the "gacutil" variable in the "locateGacUtil" method of the installer.

I think you want to be using "PROGRAMFILES" and "PROGRAMFILES(X86)" instead of "PROGRAMFILES" and "PROGRAMW6432"...either that or use all three.

Re: Windows 7, install from workspace can't locate gacutil

PostPosted: Wed Nov 28, 2012 8:44 pm
by Charles
Fixed in changeset:2863. I tested with both "ldr64 setwow" and "ldr64 set64".

I guess this means a 0.9.3 for at least Windows. Any other critical items that can't wait for the eventual 0.9.4?

Re: Windows 7, install from workspace can't locate gacutil

PostPosted: Tue Dec 11, 2012 9:33 am
by pchapin
Just a follow up... it's working for me now also. I'm using revision 2876. I also recently installed Visual Studio 2012, Update 1 and that didn't seem to cause any problems.

Thanks!

Re: Windows 7, install from workspace can't locate gacutil

PostPosted: Tue Dec 11, 2012 11:18 am
by Charles
You're welcome. Glad it worked out.