Bug 469793

Summary: [REGRESSION] 2.4 Windows installation missing VBNC and more?
Product: [Mono] Mono: Runtime Reporter: Andy Hume <andyhume32>
Component: packagingAssignee: Andrew Jorgensen <ajorgensen>
Status: VERIFIED FIXED QA Contact: Mono Bugs <mono-bugs>
Severity: Critical    
Priority: P5 - None    
Version: 2.4.x   
Target Milestone: 2.4.x   
Hardware: x86   
OS: Windows   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Diff showing adds and removes in 2.4 against 2.0 installation

Description Andy Hume 2009-01-27 14:57:07 UTC
Created attachment 267937 [details]
Diff showing adds and removes in 2.4 against 2.0 installation

User-Agent:       Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)

Running vbnc in a 2.4 Mono Windows installation fails ("'vbnc' is not recognized as an internal or external command, ...").

Comparing the 2.4 and 2.0 installation shows that (most!) of the VBNC/vbrt files are in a subdirectory called "usr".  Presumably they should be installed at one level down.  The "vbnc.bat" file is missing entirely however.  I haven't a 2.2 installation...

* The full set of files that I see missing are below.  I've made some annotations.  I don't know how many of the diffs are intentional.
* Also, some ".lnk" files are present in the 2.4 installation.  Seems odd…
* Finally there's also an extra directory "src" at the root of the installation.
* I've attached the diff showing all adds and removes.


Files missing in 2.4 relative to 2.0.
[[
Only in /cygdrive/d/Program Files/Mono-2.0/bin: gettextlib.dll
Only in /cygdrive/d/Program Files/Mono-2.0/bin: gettextpo.dll
Only in /cygdrive/d/Program Files/Mono-2.0/bin: gettextsrc.dll
-- renamed? e.g. to libgettextlib-0-17.dll

Only in /cygdrive/d/Program Files/Mono-2.0/bin: mono-api-diff
Only in /cygdrive/d/Program Files/Mono-2.0/bin: mono-api-diff.bat
Only in /cygdrive/d/Program Files/Mono-2.0/bin: mono-api-info1
Only in /cygdrive/d/Program Files/Mono-2.0/bin: mono-api-info1.bat
Only in /cygdrive/d/Program Files/Mono-2.0/bin: mono-api-info2
Only in /cygdrive/d/Program Files/Mono-2.0/bin: mono-api-info2.bat
-- obsolete?

Only in /cygdrive/d/Program Files/Mono-2.0/bin: vbnc
Only in /cygdrive/d/Program Files/Mono-2.0/bin: vbnc.bat

Only in /cygdrive/d/Program Files/Mono-2.0/lib: gettextpo.def
Only in /cygdrive/d/Program Files/Mono-2.0/lib: gettextpo.lib
Only in /cygdrive/d/Program Files/Mono-2.0/lib: libgettextpo.a
Only in /cygdrive/d/Program Files/Mono-2.0/lib: libintl.a
Only in /cygdrive/d/Program Files/Mono-2.0/lib: libz.dll.a
Only in /cygdrive/d/Program Files/Mono-2.0/lib: locale

Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/1.0: CorCompare.exe
-- obsolete?

Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/1.0: Microsoft.VisualBasic.dll

Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/1.0: mono-api-diff.exe
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/1.0: mono-api-info.exe
-- obsolete?

Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/1.0: mono-shlib-cop.exe
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/1.0: mono-shlib-cop.exe.config
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/1.0: mono-shlib-cop.exe.mdb
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/1.0: sqlsharp.exe
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/1.0: sqlsharp.exe.mdb
-- moved to 2.0 directory

Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/1.0: transform.exe

Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/2.0: Microsoft.VisualBasic.dll
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/2.0: vbnc.exe
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/2.0: vbnc.exe.mdb
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/2.0: vbnc.rsp
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/3.5: System.Web.Extensions.dll
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/gac: Microsoft.VisualBasic

Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/gac/Mono.Cecil: 0.6.8.8607__0738eb9f132ed756
-- Changed version number?  To 0.6.9.0.

Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/gac/nunit.core: 2.2.0.0__96d09a1eb7f44a77
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/gac/nunit.framework: 2.2.0.0__96d09a1eb7f44a77
Only in /cygdrive/d/Program Files/Mono-2.0/lib/mono/gac/nunit.util: 2.2.0.0__96d09a1eb7f44a77
-- Changed version of nunit?  Now shipping 2.4.8…

Only in /cygdrive/d/Program Files/Mono-2.0/lib: zlib-bcc.lib
Only in /cygdrive/d/Program Files/Mono-2.0/lib: zlib.lib

Only in /cygdrive/d/Program Files/Mono-2.0/make: glib-2.12.4.make

Only in /cygdrive/d/Program Files/Mono-2.0/: man

Only in /cygdrive/d/Program Files/Mono-2.0/share/locale: no
]]

Reproducible: Always
Comment 1 Andy Hume 2009-01-30 20:00:52 UTC
Andrew, if you're looking at the Windows installer... :-)
Comment 2 Andy Hume 2009-01-30 20:02:56 UTC
CC some others for good measure.
Comment 3 Andrew Jorgensen 2009-01-30 20:10:31 UTC
Marc, can you verify this bug for me?  Seems awfully strange.
Comment 4 Andy Hume 2009-01-30 20:11:47 UTC
Note there's a file "Microsoft.VisualBasic.dll.lnk" in .../lib/mono/2.0/, it
needs to be a real (copy) of that file.  Is the install builder utility being
much too smart and installing shortcut link files, eeeeh!?


Oh, and I'll try a install on a second machine here, just in case something went odd on the first.
Comment 5 Thomas Wiest 2009-01-30 21:01:00 UTC
Wow, great find Andy.

I confirmed that this is indeed a problem in Mono 2.4p1 and 2.4p2.

Also, I confirmed that this was _not_ a problem in Mono 2.2.
Comment 6 Andrew Jorgensen 2009-01-30 21:06:57 UTC
And I have absolutely no idea what may have changed to cause this.

Thomas, are you seeing what he's seeing?  That there are .lnk files instead of real copies?  That sounds like maybe cygwin is getting smart on us but I have not updated cygwin since before 2.2.  I have heard that it treats symlinks as .lnk files in some situations.  I hate cygwin so much!
Comment 7 Andy Hume 2009-01-30 21:20:29 UTC
Maybe something in mono-basic changed?  Is VB good in the Linux 2.4 install?

Also, the auto-magic creation of .lnk file is apparently _not_ new, see the dir below.  It's appearance here is probably just a side effect of the change, so maybe this case will go away once the original issue is fixed.

[[
C:\Program Files\Mono-2.2>dir /s *.lnk
 Volume in drive C is IBM_PRELOAD
 Volume Serial Number is F442-60AB

 Directory of C:\Program Files\Mono-2.2\lib\mono\2.0

21/11/2008  09:34               693 nunit.core.dll.lnk
21/11/2008  09:34               713 nunit.framework.dll.lnk
21/11/2008  09:34               697 nunit.mocks.dll.lnk
21/11/2008  09:34               693 nunit.util.dll.lnk
               4 File(s)          2,796 bytes

     Total Files Listed:
               4 File(s)          2,796 bytes
               0 Dir(s)   1,576,226,816 bytes free

C:\Program Files\Mono-2.2>
]]
Comment 8 Thomas Wiest 2009-01-30 21:30:08 UTC
To run vbnc in Mono 2.4, you can:
1. cd "\Program Files\Mono-2.4\usr\lib\mono\2.0"
2. run vbnc

The place where the bat file is supposed to be is here (but it's not):
   C:\PROGRA~1\Mono-2.4\bin


On Mono 2.4:
C:\Program Files\Mono-2.4\bin>dir vbnc*.*
 Volume in drive C has no label.
 Volume Serial Number is 4CA4-01BB

 Directory of C:\Program Files\Mono-2.4\bin

File Not Found

C:\Program Files\Mono-2.4\bin>


On Mono 2.2:
C:\Program Files\Mono-2.2\bin>dir vbnc*.*
 Volume in drive C has no label.
 Volume Serial Number is 4CA4-01BB

 Directory of C:\Program Files\Mono-2.2\bin

01/11/2009  06:47 PM                90 vbnc
01/11/2009  06:47 PM                86 vbnc.bat
               2 File(s)            176 bytes
               0 Dir(s)  47,254,179,840 bytes free

C:\Program Files\Mono-2.2\bin>
Comment 9 Thomas Wiest 2009-02-01 01:19:16 UTC
setting as not needinfo as I provided the info in the above comments.
Comment 10 Andrew Jorgensen 2009-02-02 23:15:40 UTC
vbnc stuff fixed

The other stuff you noted is all expected.
Comment 11 Andy Hume 2009-02-23 13:23:26 UTC
vbnc works in mono-2.4-gtksharp-2.12.8-win32-3.exe (at least for a trivial program).
Comment 12 Thomas Wiest 2009-02-23 17:50:12 UTC
marking verified because of comment 11.