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

    • Microsoft now allows you to tweak Visual Studio to new extremes by Usama Jawad Visual Studio 2026 recently netted a powerful feature that finally allows developers to review Git Pull Requests (PRs) directly in the integrated development environment (IDE), without needing to switch to the browser. However, that's not all that Microsoft introduced in the latest version, as it also offered a useful way to customize the IDE to their heart's content. Although Visual Studio 2026 already provides lots of stock themes based on Fluent Design principles, Microsoft understands that people still want to customize them further according to their preferences. The IDE now offers a new configuration page for themes under Tools > Options > Environment > Visual Experience > Theme colors. This allows you to set hex color codes for accent colors, hover states, and more, and apply them without requiring a restart. The Redmond tech giant further says that: Microsoft is also offering granular color tokens that allow you to customize various UX elements like the tab header without impacting the rest of the shell chrome. Your themes are also stored in JSON format in %LOCALAPPDATA%\Microsoft\VisualStudio\18.0_xxxxxxxx\ColorThemes, which basically enables you to share it with others or override existing themes. This is a major improvement in terms of the user experience powering these customization capabilities. This is because extensions were required to replace the theme, and it was not very easy to make minor adjustments. This theme configuration UX solves this problem and is available in Visual Studio 2026 version 18.7, available here.
    • AnyDesk 9.7.6 by Razvan Serea AnyDesk is a fast remote desktop system and enables users to access their data, images, videos and applications from anywhere and at any time, and also to share it with others. AnyDesk is the first remote desktop software that doesn't require you to think about what you can do. CAD, video editing or simply working comfortably with an office suite for hours are just a few examples. AnyDesk is designed for modern multi-core CPUs. Most of AnyDesk's image processing is done con­currently. This way, AnyDesk can utilize up to 90% of modern CPUs. AnyDesk works across multiple platforms and operating systems: Windows, Linux, Free BSD, Mac OS, iOS and Android. Just 7 megabytes - downloaded in a glimpse, sent via email, or fired up from your USB drive, AnyDesk will turn any desktop into your desktop in se­conds. No administrative privileges or installation needed. AnyDesk 9.7.6 changelog: Fixed Bugs Added validation feedback for passwords shorter than five characters Fixed an issue in AnyDesk One Meeting where the account name was used instead of the entered username after logging out Fixed crashes related to message editing and context menu interactions Fixed issues affecting message scrolling, text formatting, typing indicators, quoted messages, and community privacy settings Prevented users from editing automated system messages Corrected download status reporting, temporary file naming, and menu overlap issues affecting the Download History and Reactions pop-ups Other Changes Added chat list grouping settings Added keyboard navigation support (Page Up, Page Down, Home, and End) for the message feed Removed Chat language options Updated translations Download: AnyDesk 9.7.6 | 8.0 MB (Free for private use, paid upgrade available) Links: AnyDesk Home Page | Other platforms | Release History | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • It's interesting to hear that AI growth is not investor driven.
    • A few weeks ago, I had this same exact issue. Unfortunately, I didn't think of disabling the Secure Boot option in BIOS. I updated my BIOS to the latest version for my MB and it resolved the issue.
  • 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
      501
    2. 2
      +Edouard
      201
    3. 3
      PsYcHoKiLLa
      127
    4. 4
      Steven P.
      80
    5. 5
      ATLien_0
      76
  • Tell a friend

    Love Neowin? Tell a friend!