What will happen when MS retires virtualization?

S

Sliced Bread

Sorry for the confused questions about virtualization. I hope people here
can set me straight.

I've read and studied a good amount about Vista & virtualization, but the
articles describe what it is, not what will happen when it's gone.

The technet article quoted below implies virtualization will disappear from
Vista in the foreseeable future.

My two questions: What will happen then? What steps should I take to
compensate for it? Can I disable virtualization system-wide so I can test
those steps?

My understanding is that virtualization exists in vista now. It is like a
traffic cop that redirects attempts to write to the real registry, or to the
real system32, to a fake registry /sys32, so your app thinks all is well.

It's also my understanding that soon the cop will go away. In future
versions of Vista, I guess, or maybe even removed via a service pack.

Okay, fine. What will happen when my existing install packages try to write
to sys32 or the registry? They'll crash? Get a graceful dialog box? Surely
vista won't actually let them write to the real registry or sys32 when the
cop is gone?

And if there is a MS-suggested place where such system-wide com objects
ought to go, doesn't that sound a lot like a system32 replacement? What's
the big point of making a huge upheaval over virtualization if you end up
doing the exact same thing then?

And I guess I'm supposed to compensate by installing my DLLs and so on to
appropriate places like CommonFiles\MyCompanyName. But where am I supposed
to store files like Acrobat Reader, or Sheridan Custom Controls, which my app
requires?

And what if I need to read a (former) registry entry belonging to another
app? For example, my program needs to scan the ODBC settings in the system
and get their details. Where would I scan for that, or other similar things?
From a manifest file? Is there a repository of all manifest files ...
something like a hive perhaps?

So, how do I get the services that the registry and system32 used to provide
once virtualization is removed?

Here's the technet article I mentioned:
"Although virtualization allows the overwhelming majority of pre-Windows
Vista applications to run, it is a short-term fix and not a long-term
solution. Application developers should modify their applications to be
compliant with the Windows Vista Logo program as soon as possible, rather
than relying on file, folder, and registry virtualization."
http://technet2.microsoft.com/WindowsVista/en/library/00d04415-2b2f-422c-b70e-b18ff918c2811033.mspx
 
J

Jon

Virtualization is highly unlikely to disappear in the lifetime of Vista.
There would be a major backlash if all XP applications suddenly broke, post
service pack installation. The next operating system will probably have it
enforced more strongly, I would suspect.

The general idea is to force programmers to write programs in a particular
MS pleasing way, while at the same time maintaining compatibility for the
end user. So the pressure is on the programmer, not the end user. How
effective that pressure will be remains to be seen..
 
S

Sliced Bread

Jon said:
The general idea is to force programmers to write programs in a particular
MS pleasing way, while at the same time maintaining compatibility for the
end user. So the pressure is on the programmer,

Fine, fine. What are the answer to my questions?

How do I, as a programmer, bow to this mighty MS pressure and build
applications that behave in the ways I described in my original post?

MS doesn't want me to use the registry or sys32. Okay. I described various
scenarios, how do I deal with them?
 
C

Carey Frisch [MVP]

Use this forum to discuss issues with the Windows Vista Application Compatibility Toolkit:
http://forums.microsoft.com/TechNet/ShowForum.aspx?ForumID=723&SiteID=17

--
Carey Frisch
Microsoft MVP
Windows Shell/User

---------------------------------------------------------------

The general idea is to force programmers to write programs in a particular
MS pleasing way, while at the same time maintaining compatibility for the
end user. So the pressure is on the programmer,

Fine, fine. What are the answer to my questions?

How do I, as a programmer, bow to this mighty MS pressure and build
applications that behave in the ways I described in my original post?

MS doesn't want me to use the registry or sys32. Okay. I described various
scenarios, how do I deal with them?
 
M

Mick Murphy

There are enough problems dealing with the realities of windows, without your
futuristic fantasies!
 
S

Sliced Bread

Mick Murphy said:
There are enough problems dealing with the realities of windows, without your
futuristic fantasies!

Mine? Don't you mean Microsoft's?

The article in the link is the official word from Microsoft. Did you miss
that part?

If you can't track what's going on, why jump into the discussion?

If you can't track who said what, what useful content does your publicly
wallowing in your ignorance around add to the proceedings?

And if you don't know the answer, try not to take it out on others by flaming.
 
A

Andrew McLaren

Sliced Bread said:
How do I, as a programmer, bow to this mighty MS pressure and build
applications that behave in the ways I described in my original post?
MS doesn't want me to use the registry or sys32. Okay. I described
various
scenarios, how do I deal with them?

Microsoft has been publishing Vista guidelines in MSDN for about 2 or 3
years now. Most of the answers to your questions are here:

Windows Vista Developer Story
http://msdn2.microsoft.com/en-us/library/bb931724.aspx

You'll also find answers here to many questions that you haven't asked yet
:)

Issues around virtualised file directories and registry entries are in the
Vista Application Compatibility Cookbook:

http://msdn2.microsoft.com/en-us/library/bb757005.aspx

There's no problem using the Registry, but individual user settings need to
be located under HKEY_USER, not under HKREY_LOCAL_MACHINE. Likewise, common
data and config files should be stored under C:\Users\Public\AppData, not
under C:\Program Files.

Hope it helps,
 
K

Kerry Brown

You need to do some more reading.

It is perfectly acceptable to write to system file and registry locations
during an install. You need elevated privileges to do it. In almost all OS'
you may need elevated privileges to install a program if the installer needs
to modify system areas. Even in XP this is true. You just didn't notice it
because most people always ran with elevated privileges. If you tried to run
your programs in a locked down corporate environment then they would fail in
XP as well. Once a program is installed it shouldn't need to write to the
systems areas of the registry or file system. Store user specific data in
the user's area. Store data that all users need in a folder you created and
set the appropriate permissions to during the install process. This will
avoid virtualization which is only a crutch for older programs.

http://www.microsoft.com/MSPress/books/10723.aspx

http://msdn2.microsoft.com/en-ca/windowsvista/default.aspx

http://www.microsoft.com/downloads/...00-F358-4523-B479-F53D234CDCCF&displaylang=en
 
A

alexB

"But where am I supposed
to store files like Acrobat Reader, or Sheridan Custom Controls, which my
app
requires? "

Adobe will take care of it. It is none of your concern to worry about
installing Adobe Acrobat Reader. Just go to their website and click:
"Download." Keys for Adobe are preset by MS in the registry.

"And what if I need to read a (former) registry entry belonging to another
app? For example, my program needs to scan the ODBC settings in the system
and get their details. Where would I scan for that, or other similar
things? "

You are throwing a lot of bushtit and think that people won't recognize it
as such. You can read anything from the registry virtualization or not. It
is the writing to the registry that may cause you a problem if you are not
an Administrator.

Take pills.
 
R

Ronnie Vernon MVP

Sliced Bread

Why not address your concerns directly to the Microsoft developers? You can
speak to them on the following forums that are focused on helping software
developers overcome the new protocols and structures in Vista. Go to the
following website and select the appropriate forum for your questions.

MSDN Forums: Software Development for Windows Vista:
http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=24&SiteID=1
 
D

DevilsPGD

In message <[email protected]> Sliced
Bread said:
My two questions: What will happen then? What steps should I take to
compensate for it? Can I disable virtualization system-wide so I can test
those steps?

Turn off UAC and run as a user (not an administrator).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top