Longhorn GUI framework runs on XP!


Recommended Posts

Source: http://www.dotnetguru.org/blogs/sami/index.php?m=200312#4

After many weeks trying to work with the duo avalon+indigo on longhorn, i finally decide to move all PDC bits and Avalon APIs on XP. According to Microsoft, it is impossible, Avalon only run on LH. But believe me, longhorn is horribly laggy and it is more convenient for me (and most people) to use one laptop instead of multiple box just for hosting avalon applications. In addition, those who want to demo or test Avalon would prefer to host it on XP.

So, i start a long tough task trying to port Avalon samples on XP, and you know what ? i finally succeed ! There are no words to explain how it's fantastic to see a Xaml GUI running in XP. Avalon perform better on XP than LH and there is no blocking issue, animation work great, codecs also, ... Now i come up with the big question : can i publish my work tru an article or Microsoft discourage such a thing ?

Response by Microsoft developer : http://www.simplegeek.com/

Link to comment
https://www.neowin.net/forum/topic/126469-longhorn-gui-framework-runs-on-xp/
Share on other sites

Source: http://www.dotnetguru.org/blogs/sami/index.php?m=200312#4

After many weeks trying to work with the duo avalon+indigo on longhorn, i finally decide to move all PDC bits and Avalon APIs on XP. According to Microsoft, it is impossible, Avalon only run on LH. But believe me, longhorn is horribly laggy and it is more convenient for me (and most people) to use one laptop instead of multiple box just for hosting avalon applications. In addition, those who want to demo or test Avalon would prefer to host it on XP.

So, i start a long tough task trying to port Avalon samples on XP, and you know what ? i finally succeed ! There are no words to explain how it's fantastic to see a Xaml GUI running in XP. Avalon perform better on XP than LH and there is no blocking issue, animation work great, codecs also, ... Now i come up with the big question : can i publish my work tru an article or Microsoft discourage such a thing ?

Response by Microsoft developer : http://www.simplegeek.com/

well i'd publish it and see what they say

from avalons architect, since it has been quoted that over in the lh forum:

One of the big new changes that isn't yet in the Longhorn builds is the new video driver model. Once that goes in, you really won't be able to run Avalon on XP. In addition when the desktop composition stuff gets turned on (it wasn't in the PDC handout build) there will be a tight dependency between Avalon and the Longhorn User32.

http://www.simplegeek.com/permalink.aspx/d...14-f7f359b9bb2d

Here as promised a small report of the manips that I had to carry out to do to work the stupid Avalon on XP. ?First of all, I left principle that the two environments LongHorn (LH) and XP were at the same level side build of the CLR. ?The two possessed in fact the v1.2.30703. ?Suddenly, if one considers that the assemblies lacking a side must be copied other, there remains the delta of the native DLL (arf, all would be so simple otherwise). ?I have therefore very used naivement my favorite tool "listdlls" (sysinternal) after to have created under Whidbey (LH) an application XAML classical (while using the wizard). ?Here the result on Longhorn:

Application1.exe pid: 1860 Command line: "C:\temp\test\Application1.exe"

Base Size Version Path
0x00400000 0x14000 0.00.0000.0000 C:\temp\test\Application1.exe
0x77ed0000 0x11f000 6.00.4051.0000 C:\WINDOWS\system32\ntdll.dll
0x79000000 0x33000 1.02.30703.0027 C:\WINDOWS\system32\mscoree.dll
0x77e00000 0xc3000 6.00.4051.0000 C:\WINDOWS\system32\KERNEL32.dll
0x77d80000 0x7c000 6.00.4051.0000 C:\WINDOWS\system32\ADVAPI32.dll
0x77c70000 0x79000 6.00.4051.0000 C:\WINDOWS\system32\RPCRT4.dll
0x76740000 0x11000 6.00.4051.0000 C:\WINDOWS\system32\Secur32.dll
0x76a30000 0x4b000 6.00.4051.0000 C:\WINDOWS\system32\SHLWAPI.dll
0x77c20000 0x3f000 6.00.4051.0000 C:\WINDOWS\system32\GDI32.dll
0x77cf0000 0x8c000 6.00.4051.0000 C:\WINDOWS\system32\USER32.dll
0x77bc0000 0x55000 7.00.4051.0000 C:\WINDOWS\system32\msvcrt.dll
0x79ab0000 0x36e000 1.02.30703.0027 C:\WINDOWS\Microsoft.NET\Framework\v1.2.30703\mscorwks.dll
0x7d000000 0x59000 8.00.30703.0027 C:\WINDOWS\Microsoft.NET\Framework\v1.2.30703\MSVCR80.dll
0x790b0000 0x378000 1.02.30703.0027 C:\WINDOWS\assembly\GAC_Neutral\mscorlib\1.2.3400.0__b77a5c561934e089\mscorlib.dll
0x79040000 0x5c000 1.02.30703.0027 C:\WINDOWS\Microsoft.NET\Framework\v1.2.30703\mscorjit.dll
0x76910000 0x110000 6.00.4051.0000 C:\WINDOWS\system32\ole32.dll
0x71880000 0x2a000 6.05.4051.0000 C:\WINDOWS\system32\UxTheme.dll
0x73f10000 0x5b000 6.00.4051.0000 C:\WINDOWS\system32\MSCTF.dll
0x76b00000 0x107c000 6.05.4051.0000 C:\WINDOWS\system32\shell32.dll
0x76360000 0xb000 6.00.4051.0000 C:\WINDOWS\system32\PSAPI.DLL
0x0ffc0000 0x2f000 6.00.4051.0000 C:\WINDOWS\system32\rsaenh.dll
0x3f550000 0x1ee000 6.00.4023.30521 C:\WINDOWS\assembly\GAC_Neutral\PresentationFramework\6.0.4030.0__a29c01bbd4e39ac5\PresentationFramework.dll
0x3eb50000 0x4a000 6.00.4023.30521 C:\WINDOWS\assembly\GAC_Neutral\WindowsBase\6.0.4030.0__a29c01bbd4e39ac5\WindowsBase.dll
0x3ec50000 0x19e000 6.00.4023.30521 C:\WINDOWS\assembly\GAC_Neutral\PresentationCore\6.0.4030.0__a29c01bbd4e39ac5\PresentationCore.dll
0x7a7f0000 0x1c2000 1.02.30703.0027 C:\WINDOWS\assembly\GAC_Neutral\System\1.2.3400.0__b77a5c561934e089\System.dll
0x04340000 0x30000 6.00.4023.30521 C:\WINDOWS\assembly\GAC_Neutral\WindowsUIAutomation\6.0.4030.0__a29c01bbd4e39ac5\WindowsUIAutomation.dll
0x043a0000 0xa000 6.00.3708.0000 C:\WINDOWS\assembly\GAC_Neutral\Microsoft.Windows.EventTracing\6.0.3708.0__365143bb27e7ac8b\Microsoft.Windows.EventTracing.dll
0x630b0000 0x198000 6.00.4023.30521 C:\WINDOWS\system32\milcore.dll
0x6d350000 0x19a000 6.00.4051.0000 C:\WINDOWS\system32\d3d9.dll
0x6d4f0000 0x6000 6.00.4051.0000 C:\WINDOWS\system32\d3d8thk.dll
0x77bb0000 0x8000 6.00.4051.0000 C:\WINDOWS\system32\VERSION.dll
0x76290000 0x24000 6.00.4051.0000 C:\WINDOWS\system32\WINMM.dll
0x3f450000 0x3a000 6.00.4023.30521 C:\WINDOWS\assembly\GAC_Neutral\PresentationCore\6.0.4030.0__a29c01bbd4e39ac5\PresentationCore2.dll
0x703f0000 0x6ec000 6.05.4051.0000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.200.0_x-ww_C803A40C\comctl32.DLL
0x70ae0000 0x7b000 5.82.4051.0000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_5.82.0.0_x-ww_8A69BA05\comctl32.dll
0x76890000 0x7e000 6.00.4051.0000 C:\WINDOWS\system32\OLEAUT32.DLL

Next, I copied stuck the complete catalog of the project under XP and (tried) to execute the Application1.exe. ?Well heard, that planted with an exception of non DLL found. ?Suddenly, to synchronize the all, here the manips that I carried out on XP:

Copy catalog C: \WINDOWS\Microsoft.NET\Windows of LH under XP (to the same place)

Merger of the catalog C: \WINDOWS\Microsoft.NET\Avalon XP and LH (wholesale, you copy all and in case of message overwrite you skippez)

Copy native files (here the key of the success) milcore.dll and WindowsCodecs.dll of LH on XP. ?This are the alone native files not having any are equivalent under XP. ?The others (ntdll, ole32, etc. ..) are (for the moment) rising compatible. ?This that wants to say that Avalon does not use (for the moment) no native function no existing on XP. ?I want to say by there, in a DLL known. ?In order not to to have to modify the files MSBuild "standard" (WindowsApplication.target being located under Microsoft. NET\Windows) I had to put in GAC the principal managed DLL used by Avalon: n : PresentationFramework.dll,WindowsBase.dll,WindowsUIAutomation.dll,PresentationCore. ?

Last very important thing. ?MsBuild possesses a custom Task that takes care of the generation of the code behind of the files Avalon. ?Suddenly, it is necessary for you also to put in GAC a very important DLL: PresentationBuildTasks.dll and to copy it in Microsoft. NET\Windows if this is not the case. ?Once you did all that, download the following zip, do you entertain to modify the file Windows.xaml and then done "MsBuild" to test the all. ?In less than 3 seconds, the ihm is reg?n?r?e and the execution is almost instantaneous. ?

I d?taillerais in another post the hack of Whidbey for be able to use all attending them Longhorn under Whidbey XP: -). ?A must. ?

from freetranslation, i hope i dont get a warning for posting that (><) but the link it refers to at th end is

http://www.dotnetguru.org/downloads/AvalonXP.zip

The sidebar is part of explorer.exe, I think the explorer.exe in Longhorn has massive linking to a zillion other Longhorn DLLs, meaning that even if you have Avalon you won't be able to have the genuine sidebar in Windows XP. However, I'm sure someone could write an Avalon-powered sidebar for Windows XP. :-)

What the hell is Avalon, what does it look like and what does it do?

1. Avalon is the graphics, display, and forms (windowing) engine for Longhorn. It is written in managed code and is meant to be used by other managed code. Avalon replaces GDI+ and Windows Forms technologies.

2. What Avalon does for the developer is makes it easier to make richer user interfaces. What it means for you is you'll find applications with richer, less bug-ridden user interfaces.

3. Avalon also provides a system called XAML. XAML is eXtensible Application Markup Language, and is an XML dialect for defining a user interface. You link the XAML file to a code-behind file, which is a VB.NET or C# file that defines the code that is activated when an event is triggered (e.g. clicking a button, selecting an item in a listbox, etc.).

4. Avalon doesn't really have a look. Build 4051 has an alternate look (view here) that appears in applications written in XAML, however this is most likely Avalon using a different DLL to render UI widgets which in turn has different graphics than the active theme (e.g. Slate).

visually ultragrid looks like crap. the amazon application presented at PDC would be a better example of avalon. i'd link a picture of it, but the site it was on is down. trying to find a mirror.

<edit>

well the next best thing i found to the amazon thing is a crappy video

http://www.hanselman.com/blog/content/binary/CIMG0701.AVI

Edited by ForkliftDude
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Nothing is stopping you from continuing with your testing cadence. If updates are released every 2 weeks instead of 4, and you test once every 4 weeks, the exact same amount of patches will still be available for you in those 4 weeks. For example: Before 4th week - patch 1, 2, 3, 4 After 2nd week - patch 1 and 2 4th week - patch 3 and 4 Still the same amount after 4.
    • Everyone else has said it. I'm gonna say it - you don't know what you're talking about. I do. I have two laptops. One work, one personal. I have access to two more laptops - both personal. At home I manually update my personal laptop when I see on Neowin that there is an update - I carry on and only apply the updates when I am ready. My work one only updates when my workplace decides to send it - I carry on and only apply the updates (when they actually arrive, which is usually days after the release) when I switch off the laptop at the end of the day as usual. The two other personal laptops only get updated when I get to it which is rarely - the people who own them carry on using them until I get to it and update them. All of the browsers on all laptops are configured to restore the tabs when launched. Google and Microsoft have changed from 6 weeks to 4, and it looks like it's going to move to 2. None of these changes affect how any of these browsers on the laptops are used. Not one jot. My advice to you is stop panicking whenever you see an update. Just carry on with what you're doing. This even benefits you in a way - from your comment you sound like you don't like the changes or the frivolous new features - great - then carry on as before!
    • AMAZON needs to take total accountability for this.
    • Server Summit had a heap of announcements, ADCS changes are baller.
    • Nice, hope they *finally* fixed the issue with the NTFS driver where the system would completely brick during large file copies using the built in driver. It's been broken for years requiring me to use the older, slower, NTFS-3G FUSE driver.
  • Recent Achievements

    • Week One Done
      Jeroen Wilms earned a badge
      Week One Done
    • Week One Done
      rolfus earned a badge
      Week One Done
    • One Month Later
      Leroy Jethro Gibbs earned a badge
      One Month Later
    • Conversation Starter
      flexorcist earned a badge
      Conversation Starter
    • One Month Later
      AndreaB earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      508
    2. 2
      +Edouard
      197
    3. 3
      PsYcHoKiLLa
      138
    4. 4
      ATLien_0
      90
    5. 5
      Steven P.
      80
  • Tell a friend

    Love Neowin? Tell a friend!