http://bugs.winehq.org/show_bug.cgi?id=22259
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|dotnet |
--- Comment #3 from Anastasius Focht focht@gmx.net 2010-08-01 13:10:12 --- Hello,
ok, I see it now.
The "next" button belongs to the setup wizard dialog while the "install dir" text box (edit control) and "browse" button belong to property page for this setup wizard step. The "next" button state (enabled/disabled) from setup wizard dialog gets updated when the "install dir" textbox content changes (using event).
When the install dir page is initially loaded, the "install dir" textbox is assigned a default folder, hence the validation event fires. It would also fire if you clicked "browse", selected a new folder and clicked "ok".
Within the event handler, there is some extensive validation for the selected target installation folder done (if root folder, UNC style path, fixed drive and the like). If anything bad happens while calling other .NET core code (e.g. exceptions get thrown), the button state would be automatically set to "disabled".
Now coming to the culprit:
--- snip --- [0000003E: 74.75888 127] ENTER: (wrapper managed-to-native) object:__icall_wrapper_mono_object_new_fast (intptr)(014465C4, ) [0000003E: 74.75890 127] LEAVE: (wrapper managed-to-native) object:__icall_wrapper_mono_object_new_fast (intptr)[System.IO.DriveInfo:09C42090] [0000003E: 74.75906 127] ENTER: System.IO.DriveInfo:.ctor (string)(this:09C42090[System.IO.DriveInfo SetupFrontEnd.exe], [STRING:09BA5960:C:\Program Files\Paint.NET], ) [0000003E: 74.75917 128] ENTER: System.IO.DriveInfo:GetDrives ()() [0000003E: 74.75921 129] ENTER: (wrapper managed-to-native) System.Environment:get_Platform ()() [0000003E: 74.75924 129] LEAVE: (wrapper managed-to-native) System.Environment:get_Platform ()result=2 [0000003E: 74.75935 129] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)([System.NotImplementedException:09C412A0], 00000000, 00000000, 009B62D8, ) [0000003E: 74.75939 130] ENTER: System.NotImplementedException:.ctor ()(this:09C412A0[System.NotImplementedException SetupFrontEnd.exe], ) [0000003E: 74.75942 131] ENTER: System.SystemException:.ctor (string)(this:09C412A0[System.NotImplementedException SetupFrontEnd.exe], [STRING:09973420:The requested feature is not implemented.], ) [0000003E: 74.75946 132] ENTER: System.Exception:.ctor (string)(this:09C412A0[System.NotImplementedException SetupFrontEnd.exe], [STRING:09973420:The requested feature is not implemented.], ) [0000003E: 74.75949 132] LEAVE: System.Exception:.ctor (string) [0000003E: 74.75952 131] LEAVE: System.SystemException:.ctor (string) [0000003E: 74.75955 130] LEAVE: System.NotImplementedException:.ctor () [0000003E: 74.75957 129] LEAVE: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)[OBJECT:00000000] [0000003E:] EXCEPTION handling: NotImplementedException EXCEPTION: catch found at clause 0 of PaintDotNet.Setup.InstallDirPage:TargetDirTextBox_TextChanged (object,System.EventArgs) --- snip ---
Mono simply doesn't implement GetDrives() on Windows target platform (System.Environment:get_Platform -> 2), hence it throws exception.
Removing 'dotnet' keyword since this is a Mono shortcoming, not a .NET/Wine bug.
Regards