Jump to content

Windows Designer Studio - pre-alpha


Windows Designer Studio  

62 members have voted

  1. 1. I have succesfully used / I have experience with (select all that apply):

    • nLite
      60
    • vLite
      27
    • Business Desktop Deployment 2007
      13
    • Windows XP Embedded
      18
    • Backup through Norton Ghost 8.2 - 11 and/or Acronis TrueImage
      31
    • Norton Ghost 12 or Windows PE 2.0
      21
    • Systems Management Server 2003
      7
    • WIM technology - WIMGAPI, SmartWIM or ImageX
      23
    • Unattended Installation
      56
    • OEM Preinstallation (as in my guide)
      35
    • Virtualization clients and/or servers
      28
    • Visual C# and/or XML (programatically)
      8
    • Windows Deployment Services on Server 2003 SP2
      8
    • Windows Server 2008 with at least one installed role / feature
      14
  2. 2. I am interested in making my own packages for add/remove/install purposes, using Package Designer, and share them with my friends (consider Office 2007 as large software and WinRAR as small)

    • Certainly, I have large software that cannot be converted in unattended packages for nLite
      31
    • Maybe, I already have unattended packages for nLite for all my software
      13
    • Probably not, I'd like to use those packages made by more experienced people
      13
    • No, I only install software after I've installed the OS
      5
  3. 3. What is your current level of satisfaction with Microsoft Installer (MSIEXEC) ? (consider for negative example MSIs/MSPs larger than 256 Mb, like VS2005 SP1)

    • I had no trouble with Add/Remove software
      19
    • Uninstalling MSI packages produces garbage in my tidy installation
      6
    • I have frequently seen registry data leftovers and files that are wasting space and performance
      30
    • Installations frequently crash, downloaded MSIs are wasting space, will not uninstall cleanly, windows version often not right for install
      7


Recommended Posts

Windows Designer Studio

SourceForge Home Page

Windows Designer Studio is a suite of tools I am developing to allow everybody to make use of the new advancements in Unattended technology made in the last years. Much of the ground expertise has been already published under the name "Art of OEM", discussing the impact of WIM technology in today's desktop deployment techniques.

As Microsoft shows no interest in improving the key concepts behind their Business Desktop Deployment, it's up to us, the open source community, to take it from where they left off. We have already seen a great leap in this direction, nuhi's nLite/vLite, which handles well most of the pressing needs of end-users: removal, drivers and unattended installation.

Since Vista has RTMed, Microsoft has made available for free a lot of documentation concerning what their Research dept. has come up with in this area of expertise, but, sadly, their BDD fails to rise to their end-user and small OEMs expectations. Thus, I have decided to put my training to good work this summer, and code what I've been planning in the last two years: the missing step between nLite/vLite, BDD 2007 and OEM Preinstallation. I call it the "Windows Designer Studio" suite.

The big conceptual gap between Vista Setup and the old text-mode setup is still the biggest issue plaguing everybody that uses or creates today's Unattended tools, Microsoft personnel included. By solving this problem programatically in an application, the rest becomes simple enough for almost any person with a decent understanding of Windows Setup to grasp. My own research towards this goal has shown that:

1) dropping the text-mode setup solved the time-consuming app post install problem

You've all reinstalled Windows. Pretty straightforward. And you've all reinstalled your apps afterwards. Very annoying and ineffective. Thus, the "unattended" concept was born. Take out user interation and the process becomes smooth. But still time-consuming. Either way, T-12 windows install time is there because the registry is dynamically reconstructed by Setup and you add the time to silently install each application.

So, the solution comes from traditional OEM practice and it's called "install once, deploy many".

Basically, OEMs would install windows on one computer, then install the apps, make a image of the partition and clone it on all their computers. Resealed by Sysprep.

When the Vista Development Team seen that their product was getting from big to huge they resorted to a similar method: instead of reinstalling Vista prototypes, they modified one kept in a controlled environment, sysprepped it and made a setup routine to install it from a image. Thus, WIM was born.

And our solution would go a similar path: it's easier and way faster to modify a windows installation in a controlled environment (in-the-box) than do it each time on our physical machines out of the box.

Both the technology and the experience to do it exist:

virtualization - install windows in a controlled environment

preinstallation - install your applications normally on that windows

imaging - take a image of that partition

deployment - use a setup routine to install windows from your image, packed nicely in ISO.

2) WIM solved all the speed and size issues

Compression, single instance storage, boot and mount capabilities, hardware independence. Instead of unpacking independent compressed files employing significant random seeking on removable media, a WIM makes full use of memory cache by linear reading, contains a near-realtime decompression-optimal algorithm and provides a stream of data optimal for writing on a target with a large write cache. For a 500 Mb XP Professional setup disc that installs in ~45 minutes, WIM means installing it in under 15 minutes.

3) A true packaging method, like Linux RPMs, can solve any unattended problems

Microsoft already did this, in Windows XP Fundamentals for Legacy PCs. 9 packages, all stored in the same WIM. The first one is the base installation and, according to what you select to install, others are added or not. All registry data is already there, no silent installs, no custom-made installers. Just files copied to disc and a hive imported to registry. Sadly, Microsoft stopped there. BDD is nowhere near this goal.

Edited by dexter.inside
Link to comment
Share on other sites


1. From Manual to Automatic

For those that have managed to read the Art of OEM (topic) guide, an obvious question that rises at this point would be: "this is all very neat, but how do I actually spare myself the trouble of doing this over and over again each time I need my OS customized?".

This topic is intended to be a proof-of-concept for some not so obvious issues, as well as a help for me in making my application compliant to everybody's needs.

1.1. Limitations in today's windows customization technology

- Windows "Embedded"

The good:

A great concept when it comes to minimizing disk and memory footprint for Windows XP, and probably the most efficient solution in doing this, as it has a very long tradition.

The bad:

1) only works on XP Embedded, making it pretty much useless for anything else but a minimal workstation environment.

2) no actual installation method for the customized OS; SDI disks and/or dual boot are techniques quite hard to handle even by trained personnel.

3) FBA (First Boot Agent) and the way drivers are added are sluggish and quite inefficient.

4) requires custom-made packages for adding stuff

Popular solutions:

Windows XP Fundamentals for Legacy PCs, in which problem 2 is solved using WIM technology

- Business Desktop Deployment

The good:

Can install and service any version of windows, makes full use of WIM technology. Has the best driver database management caps available today

The bad:

1) the "offline servicing" concept is very complex and, in fact, quite limited

2) the process is very lenghty and hard to debug

3) you can't remove anything, just add stuff

Popular solutions:

None for end-users

- nLite/vLite

The good:

Can improve speed and reduce size of setup. Has good driver and removal options.

The bad:

1) adding stuff makes the windows setup routine more and more inefficient, due to limitations in the unattended concept.

2) the process is one-way, offline servicing is permanent when making changes.

3) requires custom-made packages for adding stuff

Popular solutions:

smaller windows setup, very appropriate for end-users

And as for storage:

- Norton Ghost suite

The good:

Very suitable for backup, either complete or differential. Can handle moving/cloning of OSes. Good storage format.

The bad:

1) too expensive

2) it involves manual modifications of the installed OS

3) does not generate a standalone ISO installation

Popular solutions:

Norton Ghost 8.2

- Microsoft WIM format

The good:

Very efficient at installation and offline servicing. Single instance storage.

The bad:

1) difficult to use

2) Only used internally in other products.

Popular solutions:

Windows Vista Setup

- Text-mode Windows Setup

The good:

It was good 10 years ago when it was the only option

The bad:

1) very slow, archived files on removable media

2) registry has to be dynamically reconstructed at runtime, extra 10 minutes

3) no support whatsoever for offline servicing

Popular solutions:

the old windows setup

1.2. General functionality layout for Designer Studio

wdesign-0.5.34.jpg

Preview of Designer Console (Vista Ready), from build 34, revision 2

The app I am making is roughly divided into 4 areas of functionality:

1) Panther SDK Setup Engine

As described in Parts 3 and 4 of my guide, the now defunct setup logic for the Longhorn project, capable of installing any version of Windows NT: either 4.0/2000/XP/2003, Embedded and/or Vista/Server 2008. Mainly following today's Vista setup logic, with the installation media consisting of :

- a \SOURCES folder, with the sysprepped image of your customized OS (install.wim). WIM Beta 1 can be read and unpacked by the original 4074 Panther setup engine, also located in this folder. As a long term goal, my application would use its own windows setup routine, also based on WIM, in order to make the setup independent from Longhorn files. As a short term goal, based on the Longhorn 4033 SDK / WAIK, which has always been freeware.

- a Windows PE bootable image (boot.wim), preferably v2.0+, to boot the preinstallation environment.

- optionally a \I386 folder structure, containing installation cache for windows components, for pre-Vista OSes. Needed by the "Add/Remove Windows Components" and "Manage my Server" wizards, as they can't read from a WIM file.

Main benefits: Windows Setup time is reduced significantly, becoming the sum of time needed for unpacking a WIM to a partition and the time needed to install drivers for hardware. For a standard installation of Windows XP, that would mean ~10-12 minutes on modern computers.

2) VKEY Explorer

vkexplorer-0.5.38.jpg

Preview of how VKEY Explorer should look like, from build 38, revision 7

Basically a concept derived from Registry Editor, it allows you to freely view / modify the registry of the OS you are going to install. A main advantage would be the diff engine, similar to Microsoft's image difference engine for Windows XP Embedded. It will allow you to author your own packages to add/remove applications and windows components, by comparing your current project to the standard master images (sysprepped XP, 2003 or Vista) and presenting the differences. A package consists in file names and registry settings for the component you are making, and not the actual files.

3) Package Designer

Conceptually similar to the XP Embedded package designer, it allows you to define your own packages for adding / removing / installing. Lightweight because it only contains metadata, it spares you the trouble of using a large SQL Server to store files.

By defining only what files are needed and what registry options those files employ, you can package according to this schema a large variety of things like:

- a windows service, allowing you to remove or add back windows services whenever you see fit

- a windows component, like IIS 6, allowing you to rapidly deploy not only the web server, but also a prepopulated set of websites to a server farm, or for website backup purposes

- a set of windows components, like removing all the unnecessary drivers in a system after setup finishes, to reduce boot time and memory footprint, in this case, a package of 2 or more packages.

- a third party app, like Diskeeper or NOD32, allowing you to have them up and ready even when windows is installing, and also to remove them if and when you see fit, by circumventing MSIEXEC.

The Package Designer should be roughly the equivalent for windows of what RPM does for linux (except the files). The actual files for a package can be acquired from any source, like a existing windows installation, windows setup or unpacked MSI / InstallShield project and added / removed at discretion from the windows you are designing at a certain moment.

4) VM Workbench

A extension for the free VMware product, VMware Player, it would allow the developer to test the customized OS before finalizing the project and building installation media. Windows Designer Studio makes use of the VMware VMDK disk format as well as Microsoft WIM format and will be able to build a test lab just like Windows Embedded Designer. VMware Player would just boot off that partition and you will be able to see what kind of problems are there in your project. A closely coupled design-to-virtualization procedure would allow even unexperienced users to discover problems in the OS they are customizing and fix them without having to waste time for building ISOs and installing windows over and over again. Thanks to the new innovations in VMware "Workstation 6" and "ESX 3" products, such a procedure has become possible today to programatically handle from a high-level language like C#.

1.3. Compatibility with existing technology - feature tour

1) Microsoft Volume Activation 2.0 for Vista

The feasible method for Windows Designer Studio is MAK. Multiple Activation Key (MAK) for activating machines against Microsoft one time, once the machines are activated they require no further communication with Microsoft. MAK keys have predetermined numbers of activations depending on the agreement type which can be increased at request.

Slide-01.jpg

A package containing all the sensitive data can be stored locally to be used for Vista installations on same hardware prefix and driver configuration, preserving your OEM license for backup purposes. This way you can customize your installation safely knowing that once activated, your activation state is preserved. Of course, you have to run this on a physical machine and not in a virtual environment.

2) Application Compatibility

Microsoft Operating System Deployment (OSD) Feature Pack for Systems Management Server (SMS) 2003 may have proven to you the value of testing applications in a corporate network. BDD 2007 handles well this tasks when concerned with application compatiblity for standard windows deployments. But, as users experienced with nLite installations have pointed out, there is a great need of a common standard of reporting what applications won't work with a certain package combination removed.

The packaging solution must be as light as possible (a very good reason for not including actual files in it) so that they can be interchanged through a simple web interface in Windows Designer Studio.

This way, as somebody tests a certain configuration, after studying the inpact of removed components in VM Workbench could provide others with a "validation report" - 3rd party apps requirements for certain packages.

All these reports can be centralized in a simple SVN server and the Package Designer can download them automatically and warn other users about dependencies. As more and more users can validate that validation report themselves, it gains more trust points and after some time it can be thought as generally reliable. This approach would encourage users with a passion for testing to contribute to the project. After all, the application itself is as good as what can do for you. I may not know at this time if I can remove a file from my customized OS, but surely at some point somebody would test to find out what happens if it's removed and provide us with a report.

Thus, the strain of beta testing the actual functionality is divided among all users, and it won't require any coding skills at all. No SQL, no code debugging, no large downloads for custom made packages about you have no idea if they work or not.

Microsoft introduced a lot of great concepts like these that are little known to public due to the level of complexity of their corresponding products. Open source is the best solution to make such concepts free, practical and available to everyone.

3) Vista Hardware Assesment Tool

Slide-02.jpg

You can benefit from Vista Hardware Assesment to find out what drivers you must package for each machine on your network, thus ensuring you won't encounter missing drivers without actually touching those computers. One customized OS prepopulated with all the proper driver packages will be enough.

4) User State Migration

User State Migration in Designer Studio is as simple as it can get: create a package with all your settings, wallpapers, shortcuts and screensavers, personalized settings for apps, like Mozilla, bookmarks or whatever.

Slide-03.jpg

Acquire the files in this package to have them in your repository and you can add it in every windows build you make. You can even share the package with your friends; to get your documents and settings to somebody else you just need to export your package from the repository and send it, while publishing your personal package online through the Package Designer.

Very useful for end-users and tweaking enthusiasts, as all your favourite registry tweaks will work for everyone exactely the same like you see them in VM Workbench. This way you can set up the Administrator account on XP / 2003 in a breeze. And also a great way of enforcing changes derived from Microsoft Security Baseline Analyser (MSBA) to an entire server farm. I'd say it's a much better tactic than using the default Internet Explorer Enhanced Security Configuration (IE_HARDEN_ADMIN), because it saves your global policy and internet options and gets them in a OS-independent form of storage. And all these with zero extra installation time, as the files and settings are already there in the WIM at setup time.

5) Security

Gotten your NOD32 or Kaspersky running just the way you want on your XP ? Gotten your global policy on the domain controller just the way you want? Using BitLocker and not wanting to ruin encryption by reinstallation?

Slide-04.jpg

Simple - make a package for each, like one for your antivirus and one for firewall, and include them together in a common Personal Security package. Or get one from your friends; you would require only the license and the files, they provide you with all the nasty configurations tested on their systems. Thus, the great security provided by professionals can be only clicks away from your project.

For more advanced users, create aliases to data in registry using friendly labels and add them as customizable data in the package using VKEY Explorer; it will spare everybody the trouble of doing this again as they will be prompted to input that information when acquiring the package.

6) nLite/vLite

Nuhi's creation made our lives easier when it comes to saving performance and space with our installations. This application is not intended in duplicating that functionality, but to work together with your proven nLite/vLite installations. Less size means more speed in processing the project, and less files to search in when creating a new package. Thus, if you already have a tested and reliable nLited/vLited image, use it to create a master installation, sysprep it and import it in the repository. It will save you countless hours of testing, decisions on what to remove and application compatibility reports, because nuhi already done that for you. Even more, this way you will be able to add back removed functionality in your nLited/vLited installations, as I will add "nLite/vLite readiness" for packages in my Package Designer. Let's not reinvent the wheel, shall we? Even more, resulting ISOs made by Designer Studio should be fully compatible with vLite.

7) Business Desktop Deployment 2007

Microsoft's own vision on this delicate subject: great for large OEMs, not so great for small OEMs (like yours truly) and certainly not great for users. Let's face it, I know quite a lot of IT Professionals that earn a living by maintaining networks and windows installations and can't even do a basic Zero Touch / Lite Touch of a stock RTM image. As the new 7-stage setup process for installing Vista from Windows PE 2.0 may be useful for offline servicing Windows Server 2008, it's certainly not justified for Vista, far less for older NT distributions. So I intend to reduce the process to 3 steps: acquisition (packages are chosen and data added or extracted from the Designer repository), testing (a VMDK disk is populated with the package contents, like in Embedded Designer, and VMware Player used to test it), and deployment (a WIM is created along with a setup wrapper). Simple, possible for any kind of NT-based windows ever made, and efficient as concerning setup.

8) Windows Deployment Services

A great feature and that says it all. Just install it on your server, add in the WIM you made and deploy it the the corporate network. For those that are familiar with the Woodgrove and/or Comtoso scenarios from Microsoft, it's as clear as daylight. :thumbup Job done, and you never left your chair.

9) Windows XP Embedded

Last but not least, the Embedded side of XP. Good idea, great implementation, bad advertising, worse compatiblity. Why not componentize every windows out there? Same stuff, same OEM licensing, the difference is that you actually would get what you want this way. Why make Windows Server 2008 "Core" instead of extending the concept on Vista? Simple... it's cheaper this way.

By diffing between Windows PE 2.0 and Server 2008 Core you'd get all the server components, and a simple matter of splitting the results in packages, would open up posibilities like...say... running Windows Server 2008 Core on your phone? :sneaky: now that's what I would call a "cool" embedded device. And it's only a matter of making the tool general enough and the package beta testing rigurous enough. Thank you, Microsoft Connect, for teaching me that experience.

Edited by dexter.inside
Link to comment
Share on other sites

1.4. The Process Flow

Here is a rough list of steps needed by my application + user interation to create a installation disc:

1) the user chooses what OS is to be deployed, by selecting an "OS minimal package". For XP this might be the equivalent of a ~100 Mb nLited disc, or a minimal XP Embedded for Point of Service. For 2003 this might be a nLited disc or a Windows Server 2003 Embedded, Appliance Edition. For Vista, this might be a ~700 Mb vLited disc, Vista Home Basic, or Embedded. For Server 2008, this might be the "Core" editions, vLited or even Windows PE 2.0. The package itself is a XML file, downloadable on demand.

2) the user chooses extra functionality by adding extra packages to the OS minimal package, like windows components (previously removed by nLite/vLite or optional, like IIS6), drivers and 3rd party apps, or author new components and submit them to be made available for others. Typical scenarios can be: restoring removed functionality by nLite on a running OS, making a generalized image to deploy a server farm with SharePoint Server 2007 preinstalled, adding Media Center to Server 2003, deploying Server 2008 with preconfigured roles, adding a web server or Tablet PC to a embedded gaming kiosk, or adding Aero to a gaming machine made from Server 2008.

3) Using the info in selected packages, Designer Studio runs "Acquisition Mode", thus acquiring files described in the package from any source, like an existing windows installation, a portable repository package, a network share or another setup disc. The process repeats until all the needed files are stored in the app's repository, a large WIM file.

4) User is prompted to fill in user data, like serial keys for windows and apps, personalization and whatever user options each package may have. A typical scenario would be preinstalling Diskeeper, with the option of providing a license or using it as evaluation, or Office 2007 components.

5) Designer Studio builds a VMDK disk with the project and runs the free VMware Player virtualization environment so that the user can test the designed OS and make changes in packages, when necessary. Diff instruments can be used to compare the running virtualized OS with that in your project, so that you can see what registry changes are to be made and packages to be added/removed. VKEY Explorer would handle the burden of diffing for you.

6) When designing completes, Designer Studio can build a WIM, "install.wim", or a physical partition for dual booting. A typical scenario would be to add/remove stuff from Vista while preserving the activation, and rebuilding it on a secondary partition.

7) A Windows PE instance is generated, "boot.wim", with drivers included in the project, just like in BDD 2007.

8A) A setup solution is built from a Setup SDK package, like Microsoft Panther or Vista Setup, or,

8B) Windows Designer copies itself to the Windows PE so that it can generate a physical bootable partition instead of a VMDK disk. This is similar to the way the OSD Feature Pack for SMS 2003 operates.

9) The entire project gets in a bootable ISO image, in case you haven't already applied it to a physical partition.

This method is applicable on:

- setup disks, including those made by nLite/vLite, to change functionality and/or add your apps

- windows installations, to modify your running OS directly or from a preinstallation environment

- sysprepped windows installations, to make OEM or hardware independent images ready for deployment

- embedded devices, to change their footprint / functionality and/or to duplicate them easily

- PEs / live disks / memory sticks with windows, including those made by BartPE, to add/remove drivers and functionality

- WIMs, for offline servicing, before using Windows Deployment Services.

wdesign-0.5.42-small1.jpg

New Project Wizard, build 42

wdesign-0.5.42-small2.jpg

Project Source

Advantages of doing it this way:

- MSIEXEC is bypassed, thus no MSIs stored in your installation, no temp files and no file or registry garbage. Since somebody has already defined the files and registry data for an app (in it's XML file), no custom scripts, quiet installers or other actions are involved (as clean as slipstreaming windows updates with nLite).

- "Add/Remove Windows Components" is bypassed, thus a large quantity of INFs and registry crap can be removed safely. Furthermore, you can make your own WIndows Components from Microsoft's installers, like ASP.NET AJAX, and add/remove them several times faster.

- "Programs and Features" is bypassed, so that you can efficiently install Server 2008 roles and features on Vista or install Vista components on Server 2008. The codebase is the same, and I have already done this manually.

- "Offline Servicing" is bypassed, so you can backup your licensed Vista / Server 2008 just like with Ghost, but for free. Even more, you can modify it later and add programs in it or remove components.

- text-mode Setup is dropped, so there's no need for text-mode SATA drivers. PnP drivers for Mass Storage can be used just like in Vista when installing from WinPE

- No more complicated methods for installing server stuff. From the user's point of view, installing/removing a pre-made AJAX website with ASP.NET 2.0 and IIS6, installing/removing SQL Server and installing/removing WinRAR is the same thing: add or remove a package or a collection of packages.

- install a 4 Gb ISO (~15 Gb worth of data on C:\ ) in just the time needed to decompress the WIM to your hard drive (~25 minutes on SATA) and have Office, Visual Studio, or multimedia authoring software ready at next boot, already configured just the way you want them.

Edited by dexter.inside
Link to comment
Share on other sites

  • 3 months later...

Hey there! I'm very interested to see where this goes and how it turns out. I've read through your fantastic Art of OEM guide, and I'm looking forward to trying out your methods.

I'm happy to do testing of your application as you release more builds too.

I cant believe no-one else has replied to this topic....

Link to comment
Share on other sites

Hey there! I'm very interested to see where this goes and how it turns out. I've read through your fantastic Art of OEM guide, and I'm looking forward to trying out your methods.

I'm happy to do testing of your application as you release more builds too.

I cant believe no-one else has replied to this topic....

Well, this is more of a long-term project and although I may have the adequate skills to perform modification operations on windows, building a storage abstraction database is not as straightforward as I thought. So it's quite normal for a pre-alpha project to go unnoticed.

Link to comment
Share on other sites

  • 4 weeks later...

Update: I now work in a corporate environment, so I have access to a lot of hardware for testing purposes.

I decided to include both a full featured Designer and a minimalistic Designer Shell (for scripting purposes) in this project. I will be testing features on the Shell and adding them onto the Designer forms when they work properly.

Link to comment
Share on other sites

Great stuff! I visited the sourceforge page. Whats the status of getting the community involved (coding, testing, creating tasks, etc.)? Surely you don't intend to take on this whole project by yourself.

Yes, that will be a problem in the near future, my idea is like this:

I have split the development of this project for now in 2 parts: a (scriptable) Designer Shell in which I will be testing new features individually and the fully-featured GUI that will recieve these features when they work properly. I am also developing some server-side support for this app, specifically a central repository of packages that can be managed, viewed and approved over a web interface. The app would download/update them from my server as needed, and you can also submit yours for evaluation.

Of course, when I drop the 'pre-alpha' tag, some community support will be needed. Until then, the SourceForge distribution method should do.

Link to comment
Share on other sites

  • 1 month later...

Update: Have a look at http://wdesign.svn.sourceforge.net/viewvc/...6.0.6000.16386/

In there you will find a list of folders containing scripts to add / remove Vista components.

Each has a *.txt with files belonging to the component, a * - Add.reg to install it and a * - Remove.reg to remove it.

Somebody who has that component removed from Vista with vLite can use the Add reg file to restore registry settings and manually copy missing files described in the text file.

The Designer Shell will soon have the ability to modify install.wim from Vista ISO, as well as hot-readd ability onto an existing installation :sneaky:

The hot-readd ability spans not only on Vista Ultimate, but can install these on a running Server 2008 Core, for example. Of course, until the Sanity Checker is finished, no dependencies are verified at this point.

Looking forward to your opinion on the reg files here. I am releasing them under GPL.

Note: If you are testing on an actual installation, replace HKEY_USERS with HKEY_LOCAL_MACHINE in the reg files, else if you mounted a WIM as RW, mount COMPONENTS and SOFTWARE hives from \WINDOWS\system32\config\ in HKEY_USERS.

My primary test goal now is to add Media Center on Server 2008 Enterprise and Enterprise Core using Designer Shell (just scripting at present). If scripting does the job, I will convert the method to C# code and rebuild the project with alpha status (meaning you will be able to use it yourself).

Edited by dexter.inside
Link to comment
Share on other sites

The Designer Studio gains a new parser starting today -

Component Mitigation Engine

Let's look at these two lists of files for the Simplified Chinese Support on Vista RTM and on Server 2008 Core Enterprise RC1

http://wdesign.svn.sourceforge.net/viewvc/...%20-%20Core.txt

\Windows\Boot\PCAT\zh-CN
\Windows\Boot\PXE\zh-CN
\Windows\IME\IMESC5
\Windows\System32\RemInst\boot\x64\zh-CN
\Windows\System32\RemInst\boot\x86\zh-CN
\Windows\System32\zh-CN
\Windows\winsxs\x86_microsoft-windows-b..ager-pcat.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_7ed33ba00d3a6012
\Windows\winsxs\x86_microsoft-windows-b..nment-pxe.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_18675be72f581c9b
\Windows\winsxs\x86_microsoft-windows-comctl32-v5.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_c21b35af7d2c6aa3
\Windows\winsxs\x86_microsoft-windows-comdlg32.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_4a47a01f57374e59
\Windows\winsxs\x86_microsoft-windows-d..files-x64.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_fe68b477fc81e3a2
\Windows\winsxs\x86_microsoft-windows-d..files-x86.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_6ab87e4d4ee40632
\Windows\winsxs\x86_microsoft-windows-f..type-microsoftyahei_31bf3856ad364e35_6.0.6001.17051_none_3a9e49a63040d604
\Windows\winsxs\x86_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_6.0.6001.17051_none_fad426806fd65ccf
\Windows\winsxs\x86_microsoft-windows-i..-chinese-tipprofile_31bf3856ad364e35_6.0.6001.17051_none_898d67e10dbae220
\Windows\winsxs\x86_microsoft-windows-i..e-trigramdictionary_31bf3856ad364e35_6.0.6001.17051_none_b6acc8b23ef51fd6
\Windows\winsxs\x86_microsoft-windows-i..er-engine.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_a67361f24609ce79
\Windows\winsxs\x86_microsoft-windows-i..lified-chinese-core_31bf3856ad364e35_6.0.6001.17051_none_17dc6557481b0975
\Windows\winsxs\x86_microsoft-windows-i..onal-codepage-10008_31bf3856ad364e35_6.0.6001.17051_none_23ad9079c9055216
\Windows\winsxs\x86_microsoft-windows-i..onal-codepage-20936_31bf3856ad364e35_6.0.6001.17051_none_5281cdc7e60aeec1
\Windows\winsxs\x86_microsoft-windows-i..onal-codepage-54936_31bf3856ad364e35_6.0.6001.17051_none_dac64dcc3fd6f50a
\Windows\winsxs\x86_microsoft-windows-i..tional-codepage-936_31bf3856ad364e35_6.0.6001.17051_none_cea5eb059b63aee7
\Windows\winsxs\x86_microsoft-windows-lsa-msprivs.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_c6afa060e03a49cd
\Windows\winsxs\x86_microsoft-windows-mlang.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_e59414b7fa18155b
\Windows\winsxs\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_5.82.6001.17051_zh-cn_fdf8ca69646fd2ff
\Windows\winsxs\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_6.0.6001.17051_zh-cn_d27246711bfd20f8
\Windows\Boot\Fonts\chs_boot.ttf
\Windows\Fonts\msyh.ttf
\Windows\Fonts\simsun.ttc
\Windows\System32\IME\IMESC5\ImSCCfg.DLL
\Windows\System32\IME\IMESC5\ImSCCore.dll
\Windows\System32\IME\IMESC5\IMSCPROP.exe
\Windows\System32\IME\IMESC5\IMSCTIP.dll
\Windows\System32\IME\IMESC5\imscui.DLL
\Windows\System32\IME\IMESC5\PMIGRATE.dll
\Windows\System32\C_10008.NLS
\Windows\System32\C_20936.NLS
\Windows\System32\C_936.NLS
\Windows\System32\C_G18030.DLL
\Windows\System32\pintlgnt.ime
\Windows\winsxs\Backup\x86_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_6.0.6001.17051_none_fad426806fd65ccf.manifest
\Windows\winsxs\Backup\x86_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_6.0.6001.17051_none_fad426806fd65ccf_simsun.ttc_eba56c14
\Windows\winsxs\Backup\x86_microsoft-windows-i..onal-codepage-54936_31bf3856ad364e35_6.0.6001.17051_none_dac64dcc3fd6f50a.manifest
\Windows\winsxs\Backup\x86_microsoft-windows-i..onal-codepage-54936_31bf3856ad364e35_6.0.6001.17051_none_dac64dcc3fd6f50a_c_g18030.dll_b816b81f
\Windows\winsxs\Backup\x86_microsoft-windows-i..tional-codepage-936_31bf3856ad364e35_6.0.6001.17051_none_cea5eb059b63aee7.manifest
\Windows\winsxs\Backup\x86_microsoft-windows-i..tional-codepage-936_31bf3856ad364e35_6.0.6001.17051_none_cea5eb059b63aee7_c_936.nls_af9e0b7b
\Windows\winsxs\FileMaps\$_boot_pcat_zh-cn_d74f2fe2301398dc.cdf-ms
\Windows\winsxs\FileMaps\$_boot_pxe_zh-cn_32ef786b5f07507b.cdf-ms
\Windows\winsxs\FileMaps\$_ime_imesc5_dicts_32255cd579e8854e.cdf-ms
\Windows\winsxs\FileMaps\$_ime_imesc5_help_693c441c0201a8fa.cdf-ms
\Windows\winsxs\FileMaps\$_system32_ime_imesc5_46a6606042ef6565.cdf-ms
\Windows\winsxs\FileMaps\$_system32_reminst_boot_x64_zh-cn_e14db38fe1da7e62.cdf-ms
\Windows\winsxs\FileMaps\$_system32_reminst_boot_x86_zh-cn_e151b48be1ca7a72.cdf-ms
\Windows\winsxs\FileMaps\$_system32_zh-cn_6a8499504900c466.cdf-ms
\Windows\winsxs\Manifests\x86_microsoft-windows-b..ager-pcat.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_7ed33ba00d3a6012.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-b..nment-pxe.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_18675be72f581c9b.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-comctl32-v5.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_c21b35af7d2c6aa3.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-comdlg32.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_4a47a01f57374e59.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-d..files-x64.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_fe68b477fc81e3a2.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-d..files-x86.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_6ab87e4d4ee40632.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-f..type-microsoftyahei_31bf3856ad364e35_6.0.6001.17051_none_3a9e49a63040d604.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_6.0.6001.17051_none_fad426806fd65ccf.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..-chinese-tipprofile_31bf3856ad364e35_6.0.6001.17051_none_898d67e10dbae220.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..-simplified_chinese_31bf3856ad364e35_6.0.6001.17051_none_043260da30b4678e.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..-simplified_chinese_31bf3856ad364e35_6.0.6001.17051_none_10e083d281d0a7af.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..e-trigramdictionary_31bf3856ad364e35_6.0.6001.17051_none_b6acc8b23ef51fd6.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..er-engine.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_a67361f24609ce79.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..ipprofile.resources_31bf3856ad364e35_6.0.6001.17051_en-us_0e61ff7b17720a8d.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..l-keyboard-00000804_31bf3856ad364e35_6.0.6001.17051_none_e865c2736380b7e6.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..lified-chinese-core_31bf3856ad364e35_6.0.6001.17051_none_17dc6557481b0975.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..nese-core.resources_31bf3856ad364e35_6.0.6001.17051_en-us_19fb865ac9646f1a.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..onal-codepage-10008_31bf3856ad364e35_6.0.6001.17051_none_23ad9079c9055216.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..onal-codepage-20936_31bf3856ad364e35_6.0.6001.17051_none_5281cdc7e60aeec1.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..onal-codepage-50227_31bf3856ad364e35_6.0.6001.17051_none_da469502402af3b1.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..onal-codepage-52936_31bf3856ad364e35_6.0.6001.17051_none_dac44d383fd8c25c.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..onal-codepage-54936_31bf3856ad364e35_6.0.6001.17051_none_dac64dcc3fd6f50a.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..tional-codepage-936_31bf3856ad364e35_6.0.6001.17051_none_cea5eb059b63aee7.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-lsa-msprivs.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_c6afa060e03a49cd.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-mlang.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_e59414b7fa18155b.manifest
\Windows\winsxs\Manifests\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_5.82.6001.17051_zh-cn_fdf8ca69646fd2ff.manifest
\Windows\winsxs\Manifests\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_6.0.6001.17051_zh-cn_d27246711bfd20f8.manifest

http://wdesign.svn.sourceforge.net/viewvc/...d%20Chinese.txt

\Windows\Boot\PCAT\zh-CN
\Windows\Boot\PXE\zh-CN
\Windows\IME\IMESC5
\Windows\System32\RemInst\boot\x64\zh-CN
\Windows\System32\RemInst\boot\x86\zh-CN
\Windows\System32\zh-CN
\Windows\winsxs\x86_microsoft-windows-b..ager-pcat.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_7cd1722e1027c3d3
\Windows\winsxs\x86_microsoft-windows-b..nment-pxe.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_166592753245805c
\Windows\winsxs\x86_microsoft-windows-cdosys.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_bd9a735dac26d242
\Windows\winsxs\x86_microsoft-windows-comctl32-v5.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_c0196c3d8019ce64
\Windows\winsxs\x86_microsoft-windows-comdlg32.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_4845d6ad5a24b21a
\Windows\winsxs\x86_microsoft-windows-d..files-x64.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_fc66eb05ff6f4763
\Windows\winsxs\x86_microsoft-windows-d..files-x86.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_68b6b4db51d169f3
\Windows\winsxs\x86_microsoft-windows-f..-microsoftyaheibold_31bf3856ad364e35_6.0.6000.16386_none_0c8ed16bb707d3be
\Windows\winsxs\x86_microsoft-windows-f..type-microsoftyahei_31bf3856ad364e35_6.0.6000.16386_none_389c8034332e39c5
\Windows\winsxs\x86_microsoft-windows-font-truetype-simfang_31bf3856ad364e35_6.0.6000.16386_none_85eb61fc24b29a3c
\Windows\winsxs\x86_microsoft-windows-font-truetype-simhei_31bf3856ad364e35_6.0.6000.16386_none_f1f0f4627729d280
\Windows\winsxs\x86_microsoft-windows-font-truetype-simkai_31bf3856ad364e35_6.0.6000.16386_none_f02a9352784e0d47
\Windows\winsxs\x86_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_6.0.6000.16386_none_f8d25d0e72c3c090
\Windows\winsxs\x86_microsoft-windows-font-truetype-simsunb_31bf3856ad364e35_6.0.6000.16386_none_8ec3c7fa1f04c342
\Windows\winsxs\x86_microsoft-windows-i..-chinese-tipprofile_31bf3856ad364e35_6.0.6000.16386_none_878b9e6f10a845e1
\Windows\winsxs\x86_microsoft-windows-i..d-chinese-migration_31bf3856ad364e35_6.0.6000.16386_none_1a705aaa0d279405
\Windows\winsxs\x86_microsoft-windows-i..e-trigramdictionary_31bf3856ad364e35_6.0.6000.16386_none_b4aaff4041e28397
\Windows\winsxs\x86_microsoft-windows-i..ed-chinese-csapplet_31bf3856ad364e35_6.0.6000.16386_none_3f4aa6d1e3d3e7b5
\Windows\winsxs\x86_microsoft-windows-i..er-engine.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_a471988048f7323a
\Windows\winsxs\x86_microsoft-windows-i..ese-virtuallexicons_31bf3856ad364e35_6.0.6000.16386_none_5ddfbb850909e9ff
\Windows\winsxs\x86_microsoft-windows-i..lified-chinese-core_31bf3856ad364e35_6.0.6000.16386_none_15da9be54b086d36
\Windows\winsxs\x86_microsoft-windows-i..nese-domainlexicons_31bf3856ad364e35_6.0.6000.16386_none_e64a06a490f1b1f4
\Windows\winsxs\x86_microsoft-windows-i..onal-codepage-10008_31bf3856ad364e35_6.0.6000.16386_none_21abc707cbf2b5d7
\Windows\winsxs\x86_microsoft-windows-i..onal-codepage-20936_31bf3856ad364e35_6.0.6000.16386_none_50800455e8f85282
\Windows\winsxs\x86_microsoft-windows-i..onal-codepage-54936_31bf3856ad364e35_6.0.6000.16386_none_d8c4845a42c458cb
\Windows\winsxs\x86_microsoft-windows-i..tional-codepage-936_31bf3856ad364e35_6.0.6000.16386_none_cca421939e5112a8
\Windows\winsxs\x86_microsoft-windows-mlang.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_e3924b45fd05791c
\Windows\winsxs\x86_microsoft-windows-t..d-chinese-shuangpin_31bf3856ad364e35_6.0.6000.16386_none_1c7f70bfd9f21587
\Windows\winsxs\x86_microsoft-windows-t..ied-chinese-quanpin_31bf3856ad364e35_6.0.6000.16386_none_f58de160c359c866
\Windows\winsxs\x86_microsoft-windows-t..ied-chinese-zhengma_31bf3856ad364e35_6.0.6000.16386_none_611fba102c7b5aa2
\Windows\winsxs\x86_microsoft-windows-t..languages.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_102cb36fe2f45c19
\Windows\winsxs\x86_microsoft-windows-w..r-chinesesimplified_31bf3856ad364e35_6.0.6000.16386_none_591340d72e467fa9
\Windows\winsxs\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_5.82.6000.16386_zh-cn_fd727e5c4b4f20f0
\Windows\winsxs\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_6.0.6000.16386_zh-cn_d298dbf11ba9dcff
\Program Files\Common Files\microsoft shared\ink\zh-CN\tipresx.dll.mui
\Program Files\Windows NT\TableTextService\TableTextServiceSimplifiedQuanPin.txt
\Program Files\Windows NT\TableTextService\TableTextServiceSimplifiedShuangPin.txt
\Program Files\Windows NT\TableTextService\TableTextServiceSimplifiedZhengMa.txt
\Windows\Boot\Fonts\chs_boot.ttf
\Windows\Fonts\msyh.ttf
\Windows\Fonts\msyhbd.ttf
\Windows\Fonts\simfang.ttf
\Windows\Fonts\simhei.ttf
\Windows\Fonts\simkai.ttf
\Windows\Fonts\simsun.ttc
\Windows\Fonts\simsunb.ttf
\Windows\System32\IME\IMESC5\applets\PINTLCSA.dll
\Windows\System32\IME\IMESC5\ImSCCfg.DLL
\Windows\System32\IME\IMESC5\ImSCCore.dll
\Windows\System32\IME\IMESC5\IMSCPROP.exe
\Windows\System32\IME\IMESC5\IMSCTIP.dll
\Windows\System32\IME\IMESC5\imscui.DLL
\Windows\System32\IME\IMESC5\PMIGRATE.dll
\Windows\System32\migration\imscmig.dll
\Windows\System32\C_10008.NLS
\Windows\System32\C_20936.NLS
\Windows\System32\C_936.NLS
\Windows\System32\C_G18030.DLL
\Windows\System32\chsbrkr.dll
\Windows\System32\NOISE.CHS
\Windows\System32\pintlgnt.ime
\Windows\winsxs\Backup\x86_microsoft-windows-f..-microsoftyaheibold_31bf3856ad364e35_6.0.6000.16386_none_0c8ed16bb707d3be.manifest
\Windows\winsxs\Backup\x86_microsoft-windows-f..-microsoftyaheibold_31bf3856ad364e35_6.0.6000.16386_none_0c8ed16bb707d3be_msyhbd.ttf_16e5cd4d
\Windows\winsxs\Backup\x86_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_6.0.6000.16386_none_f8d25d0e72c3c090.manifest
\Windows\winsxs\Backup\x86_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_6.0.6000.16386_none_f8d25d0e72c3c090_simsun.ttc_eba56c14
\Windows\winsxs\Backup\x86_microsoft-windows-font-truetype-simsunb_31bf3856ad364e35_6.0.6000.16386_none_8ec3c7fa1f04c342.manifest
\Windows\winsxs\Backup\x86_microsoft-windows-font-truetype-simsunb_31bf3856ad364e35_6.0.6000.16386_none_8ec3c7fa1f04c342_simsunb.ttf_08f71e3f
\Windows\winsxs\Backup\x86_microsoft-windows-i..onal-codepage-54936_31bf3856ad364e35_6.0.6000.16386_none_d8c4845a42c458cb.manifest
\Windows\winsxs\Backup\x86_microsoft-windows-i..onal-codepage-54936_31bf3856ad364e35_6.0.6000.16386_none_d8c4845a42c458cb_c_g18030.dll_b816b81f
\Windows\winsxs\Backup\x86_microsoft-windows-i..tional-codepage-936_31bf3856ad364e35_6.0.6000.16386_none_cca421939e5112a8.manifest
\Windows\winsxs\Backup\x86_microsoft-windows-i..tional-codepage-936_31bf3856ad364e35_6.0.6000.16386_none_cca421939e5112a8_c_936.nls_af9e0b7b
\Windows\winsxs\FileMaps\$_boot_pcat_zh-cn_d74f2fe2301398dc.cdf-ms
\Windows\winsxs\FileMaps\$_boot_pxe_zh-cn_32ef786b5f07507b.cdf-ms
\Windows\winsxs\FileMaps\$_ime_imesc5_dicts_32255cd579e8854e.cdf-ms
\Windows\winsxs\FileMaps\$_ime_imesc5_help_693c441c0201a8fa.cdf-ms
\Windows\winsxs\FileMaps\$_system32_ime_imesc5_46a6606042ef6565.cdf-ms
\Windows\winsxs\FileMaps\$_system32_ime_imesc5_applets_7ab7847ddb9a9a48.cdf-ms
\Windows\winsxs\FileMaps\$_system32_reminst_boot_x64_zh-cn_e14db38fe1da7e62.cdf-ms
\Windows\winsxs\FileMaps\$_system32_reminst_boot_x86_zh-cn_e151b48be1ca7a72.cdf-ms
\Windows\winsxs\FileMaps\$_system32_zh-cn_6a8499504900c466.cdf-ms
\Windows\winsxs\FileMaps\program_files_common_files_microsoft_shared_ink_zh-cn_b1fdda05de3132de.cdf-ms
\Windows\winsxs\Manifests\x86_microsoft-windows-b..ager-pcat.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_7cd1722e1027c3d3.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-b..nment-pxe.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_166592753245805c.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-cdosys.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_bd9a735dac26d242.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-comctl32-v5.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_c0196c3d8019ce64.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-comdlg32.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_4845d6ad5a24b21a.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-d..files-x64.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_fc66eb05ff6f4763.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-d..files-x86.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_68b6b4db51d169f3.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-f..-microsoftyaheibold_31bf3856ad364e35_6.0.6000.16386_none_0c8ed16bb707d3be.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-f..edchinesesupplement_31bf3856ad364e35_6.0.6000.16386_none_46db1b817af6c2c8.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-f..type-microsoftyahei_31bf3856ad364e35_6.0.6000.16386_none_389c8034332e39c5.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-font-truetype-simfang_31bf3856ad364e35_6.0.6000.16386_none_85eb61fc24b29a3c.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-font-truetype-simhei_31bf3856ad364e35_6.0.6000.16386_none_f1f0f4627729d280.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-font-truetype-simkai_31bf3856ad364e35_6.0.6000.16386_none_f02a9352784e0d47.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_6.0.6000.16386_none_f8d25d0e72c3c090.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-font-truetype-simsunb_31bf3856ad364e35_6.0.6000.16386_none_8ec3c7fa1f04c342.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..-chinese-tipprofile_31bf3856ad364e35_6.0.6000.16386_none_878b9e6f10a845e1.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..-csapplet.resources_31bf3856ad364e35_6.0.6000.16386_en-us_dcd5d12332c4af6c.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..-simplified_chinese_31bf3856ad364e35_6.0.6000.16386_none_0230976833a1cb4f.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..-simplified_chinese_31bf3856ad364e35_6.0.6000.16386_none_0edeba6084be0b70.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..d-chinese-migration_31bf3856ad364e35_6.0.6000.16386_none_1a705aaa0d279405.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..d-chinese-utilities_31bf3856ad364e35_6.0.6000.16386_none_9867f5178a9716df.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..e-trigramdictionary_31bf3856ad364e35_6.0.6000.16386_none_b4aaff4041e28397.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..ed-chinese-csapplet_31bf3856ad364e35_6.0.6000.16386_none_3f4aa6d1e3d3e7b5.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..er-engine.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_a471988048f7323a.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..ese-virtuallexicons_31bf3856ad364e35_6.0.6000.16386_none_5ddfbb850909e9ff.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..ipprofile.resources_31bf3856ad364e35_6.0.6000.16386_en-us_0c6036091a5f6e4e.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..l-keyboard-00000804_31bf3856ad364e35_6.0.6000.16386_none_e663f901666e1ba7.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..lified-chinese-core_31bf3856ad364e35_6.0.6000.16386_none_15da9be54b086d36.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..nese-core.resources_31bf3856ad364e35_6.0.6000.16386_en-us_17f9bce8cc51d2db.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..nese-domainlexicons_31bf3856ad364e35_6.0.6000.16386_none_e64a06a490f1b1f4.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..onal-codepage-10008_31bf3856ad364e35_6.0.6000.16386_none_21abc707cbf2b5d7.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..onal-codepage-20936_31bf3856ad364e35_6.0.6000.16386_none_50800455e8f85282.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..onal-codepage-50227_31bf3856ad364e35_6.0.6000.16386_none_d844cb9043185772.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..onal-codepage-52936_31bf3856ad364e35_6.0.6000.16386_none_d8c283c642c6261d.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..onal-codepage-54936_31bf3856ad364e35_6.0.6000.16386_none_d8c4845a42c458cb.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..tional-codepage-936_31bf3856ad364e35_6.0.6000.16386_none_cca421939e5112a8.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-i..utilities.resources_31bf3856ad364e35_6.0.6000.16386_en-us_db55f58b5bf7ff86.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-ime-simplified-chinese_31bf3856ad364e35_6.0.6000.16386_none_ccee9440e50cbc6e.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-mlang.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_e3924b45fd05791c.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-t..d-chinese-shuangpin_31bf3856ad364e35_6.0.6000.16386_none_1c7f70bfd9f21587.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-t..ied-chinese-quanpin_31bf3856ad364e35_6.0.6000.16386_none_f58de160c359c866.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-t..ied-chinese-zhengma_31bf3856ad364e35_6.0.6000.16386_none_611fba102c7b5aa2.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-t..languages.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_102cb36fe2f45c19.manifest
\Windows\winsxs\Manifests\x86_microsoft-windows-w..r-chinesesimplified_31bf3856ad364e35_6.0.6000.16386_none_591340d72e467fa9.manifest
\Windows\winsxs\Manifests\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_5.82.6000.16386_zh-cn_fd727e5c4b4f20f0.manifest
\Windows\winsxs\Manifests\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_6.0.6000.16386_zh-cn_d298dbf11ba9dcff.manifest

The parser must be able to properly perform these three scenarios:

1) Resolve different builds with same functionality as a single component:

\Windows\winsxs\x86_microsoft-windows-b..ager-pcat.resources_31bf3856ad364e35_6.0.6001.17051_zh-cn_7ed33ba00d3a6012

\Windows\winsxs\x86_microsoft-windows-b..ager-pcat.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_7cd1722e1027c3d3

should be resolved as:

\Windows\winsxs\x86_microsoft-windows-b..ager-pcat.resources_31bf3856ad364e35_<WindowsVersion>_zh-cn_<ComponentHash>

2) Resolve mitigation issues - rollback, hotfix, interim builds, service pack availability for offline and installed distributions

At user request, version 6.0.6001.17051 can be rolled back to 6.0.6000.16386 or hotfixed to a final SP1 version or to a compatible interim build like 6.0.6001.17052.jonwes

3) Maintain storage logic to replace all instances of files in a component if mitigation process is successful

Link to comment
Share on other sites

Well, looks like it will be a cool app.

Well, i give it a try ....

But

SYSTEM: Retrieved MOTD from uberplay.org

Windows Designer Studio v0.5 © Dexter Inside, 2006, 2007

This application is a software engineering prototype. Little or no actual functionality is provided at this stage, and is intended for the sole purpose of debugging code. Go to http://sourceforge.net/projects/wdesign for more information.

IF you recieve any errors, send console.log to dexter_inside@yahoo.com or post it to http://www.msfn.org/board/index.php?showtopic=100722

SYSTEM: End of MOTD

SYSTEM: File -> New -> Acquisition...

NEWPROJECT: Welcome to the New Acquisition Wizard invoked Next

NEWPROJECT: Select Source Type invoked Next

NEWPROJECT: Browse

NEWPROJECT: Browse

NEWPROJECT: Select Source Location invoked Next

Well, does de browse button work ( or should work when i invoke it ? ) - i have point the root of CD Setup disk ex: E:\OS (tryed) os\i386 too.

Clicked next ... and nothing happens.

But your App looks cool.

Link to comment
Share on other sites

That's just the Designer branch (which is quite old)... I was developing functionality in the Shell branch. I didn't release a new compiled package because I made some changes in functionality. Of course, when the procedure works in the Shell, I will add that code in the Designer.

Scripting is not that fast and time is an issue here... using these pre-made reg files should help save a lot of time. The Designer would scan the x86 folder and present you with options to add/remove. Should get this working in a new release.

Link to comment
Share on other sites

  • 2 months later...

Very ambitious and impressive project, I hope you stay the course! This reminds me after a fashion of Microsoft's own 'Target Designer' for their Embedded versions of Windows, but looks to have much more potential to be a more versatile tool. I hope in the coming months I'll have more time to give this a try.

:w00t:

Link to comment
Share on other sites

Very ambitious and impressive project, I hope you stay the course! This reminds me after a fashion of Microsoft's own 'Target Designer' for their Embedded versions of Windows, but looks to have much more potential to be a more versatile tool. I hope in the coming months I'll have more time to give this a try.

:w00t:

Thanks for the vote of confidence :thumbup If the readers of this topic are interested, I can post a few diffs I made with the pre-alpha.

At this point it can compare different installations/images of windows and create undo/redo scripts to add/remove a certain component present in only one of them.

For example: Vista Business vs. Enterprise - scenario for gathering Media Center dependencies

Vista BusinessN vs Business - scenario for gathering WMP11 dependencies

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...