Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsWindows VistaWindows XPWindows MeWindows 98Windows 95Virtual PCInternet ExplorerOutlook ExpressWindows MediaSecurity
Related Topics
MS Server ProductsMS OfficePC HardwareMore Topics ...

Windows Forum / Virtual PC / December 2007

Tip: Looking for answers? Try searching our database.

Few basic questions

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Murthy - 29 Dec 2007 14:06 GMT
These questions may sound too basic for you, but still, this VPC seems to be
a good solution for my problems.

I have the following basic questions.

1. I have Vista Ultimate with two partitions.  C is the major one, and D has
no space left out.

2. Can I install VPC at all in the above setup?

3. Do I need to create a separate partition for loading another OS via VPC?

4. Will I be able to install applications in the VPC separately for that OS?
(Some of the applications are not vista-compatible.  So, if I install XP via
VPC, will I be able to install an application which supports only upto XP?)

5. Whether hardware like printer etc. can be added only to that OS?

- Murthy
Mark Rae [MVP] - 29 Dec 2007 14:32 GMT
> 1. I have Vista Ultimate with two partitions.  C is the major one, and D
> has no space left out. Can I install VPC at all in the above setup?

Yes you can. You would probably get a bit of a performance gain if you were
to install VPC on your C drive and place the virtual machines on your D
drive, but that's not mandatory...

> 3. Do I need to create a separate partition for loading another OS via
> VPC?

This is fundamental misconception about VPC - no partitioning is required.
Virtual machines are just files which reside on your host machine's hard
disk(s). If you want an analogy, Excel is a piece of software which creates
spreadsheets and VPC is a piece of software which creates virtual machines.

> 4. Will I be able to install applications in the VPC separately for that
> OS? (Some of the applications are not vista-compatible.  So, if I install
> XP via VPC, will I be able to install an application which supports only
> upto XP?)

Yes. The key thing to understanding VPC (and other software virtualisation
technology) is that the virtual machines which it creates are functionally
identical to physical machines. They are *real* machines. That means e.g.
that they can be added into your workgroup or domain, anything you install
on them (OS or apps) is subject to the same licensing requirements as if you
were installing on a physical machine, they need their own anti-virus
solution etc.

> 5. Whether hardware like printer etc. can be added only to that OS?

That's a little trickier... For a peripheral device to be recognised by a
virtual machine, it has to be connected to a physical machine which would
logically be the host machine, but could be another machine on your network.
Thereafter, using it is just a matter of simple networking. E.g. if you were
to connect a printer to your host's LPT1 port, you could configure a virtual
machine's LPT1 port to point to the host's LPT1 port and then it would be
able to use the printer. Of course, this would mean that the printer would
be available to the host as well...

Pretty much everything you could ever need to know about VPC can be answered
as follows:

1) Remember that a virtual machine is a real machine just like a physical
machine

2) Read the VPC help file

3) Read this: http://vpc.visualwin.com/ngfaq.aspx

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

David Wilkinson - 29 Dec 2007 14:34 GMT
> These questions may sound too basic for you, but still, this VPC seems
> to be a good solution for my problems.
>
> I have the following basic questions.

Answers inline:

> 1. I have Vista Ultimate with two partitions.  C is the major one, and D
> has no space left out.

This is not a question.

> 2. Can I install VPC at all in the above setup?

Yes, if you have enough space on your C drive. If you install VPC to the
default location, it will install to Program Files on your C drive. VPC
is just an application like any other.

> 3. Do I need to create a separate partition for loading another OS via VPC?

No. The guest OS simply consists of files on the host. These files can
be anywhere, but the default location is (My) Documents\My Virtual Machines.

> 4. Will I be able to install applications in the VPC separately for that
> OS? (Some of the applications are not vista-compatible.  So, if I
> install XP via VPC, will I be able to install an application which
> supports only upto XP?)

Yes. You should think of the virtual machine just like a real machine.
The guest OS does not know it is in a virtual machine, and you can load
software into it in the usual way (download, from CD ...).

> 5. Whether hardware like printer etc. can be added only to that OS?

Virtual machines created with VPC do not support USB. But you can access
a USB printer that is hosted on another machine on your network
(including the host) via normal printer sharing. Just think of your
virtual machine another computer on your LAN; it can do anything a
physical computer can.

Signature

David Wilkinson
Visual C++ MVP

Mark Rae [MVP] - 29 Dec 2007 15:34 GMT
> You should think of the virtual machine just like a real machine.

The OP should think of the virtual machine as just like a physical
machine...

A virtual machine *is* a real machine - this is fundamental to the
understanding of VPC...

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

Murthy - 29 Dec 2007 16:31 GMT
Thanks Mr.Rae and Mr Wilkinson for your elaborate answers.  Your answers
have certainly given me the basic answers I was looking for.

So, I understand that if my HP printer can not be installed on my Vista
Laptop, it will as well not be installed on the XP of the virtual machine.
I understood this much.

Thanks again,

- Murthy

>> You should think of the virtual machine just like a real machine.
>
[quoted text clipped - 3 lines]
> A virtual machine *is* a real machine - this is fundamental to the
> understanding of VPC...
Mark Rae [MVP] - 29 Dec 2007 16:47 GMT
> So, I understand that if my HP printer can not be installed on my Vista
> Laptop, it will as well not be installed on the XP of the virtual machine.

Not necessarily...

It sounds like you have an HP printer for which there are no Vista drivers -
is that correct...? If it has a parallel connection, all you should need to
do is plug it into your host's parallel port, and then configure your
virtual machine's parallel port to point to your host's parallel port -
thereafter, you should just be able to install the XP drivers on your
virtual machine. This is the beauty of virtualisation - your guest OS
doesn't know that it's running on a virtual machine as opposed to a physical
machine because it doesn't need to know - it makes no difference anyway...

However, if the printer has only a USB interface, I think you're almost
certainly out of luck as the only way for a virtual machine to use a USB
printer is via standard network printer sharing, so it would have to be
installed on the host or at least somewhere on your network from where it
could be shared as a network printer...

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

David Wilkinson - 29 Dec 2007 21:15 GMT
>> So, I understand that if my HP printer can not be installed on my
>> Vista Laptop, it will as well not be installed on the XP of the
[quoted text clipped - 17 lines]
> installed on the host or at least somewhere on your network from where
> it could be shared as a network printer...

Mark:

I must say that this seems to me one of the great gotcha's of Windows
printer sharing. When a printer is shared on the network, each client
computer needs its own driver for the printer in question; it cannot use
the driver of the "host" computer that is sharing its printer.

But here we have a situation where the client (XP virtual machine) does
have a driver for the printer, but the printer is attached to a machine
(the Vista host) that does not have a driver. But why is the driver on
the host needed, if it cannot be used by the client?

Signature

David Wilkinson
Visual C++ MVP

Colin Barnhorst - 29 Dec 2007 21:36 GMT
Because the vm is not in direct commnication with the printer when the
printer connection is a usb port on the host.  As you know, the vm cannot
see those.

>>> So, I understand that if my HP printer can not be installed on my Vista
>>> Laptop, it will as well not be installed on the XP of the virtual
[quoted text clipped - 29 lines]
> (the Vista host) that does not have a driver. But why is the driver on the
> host needed, if it cannot be used by the client?
David Wilkinson - 29 Dec 2007 22:03 GMT
> Because the vm is not in direct commnication with the printer when the
> printer connection is a usb port on the host.  As you know, the vm
> cannot see those.

Colin:

Actually, this was not really a question about virtual machines; it was
a question about printer sharing. In Windows printer sharing, the client
computer always needs its own driver. But if the client cannot use the
printer driver on the server, why does the server need one in order for
the client to print?

Signature

David Wilkinson
Visual C++ MVP

Colin Barnhorst - 29 Dec 2007 22:12 GMT
Because the client isn't actually doing the printing?

>> Because the vm is not in direct commnication with the printer when the
>> printer connection is a usb port on the host.  As you know, the vm cannot
[quoted text clipped - 7 lines]
> printer driver on the server, why does the server need one in order for
> the client to print?
David Wilkinson - 29 Dec 2007 23:23 GMT
> Because the client isn't actually doing the printing?

Colin:

Then why does the client need a driver, if the server is doing the
printing? This is actually my *real* question.

My actual situation (nothing to do with VPC) is that I have a Windows XP
computer with an attached HP printer which is shared. To access it from
another XP computer on the network is easy, but a Vista x64 machine on
my network cannot access this printer because there is no Vista x64 driver.

Signature

David Wilkinson
Visual C++ MVP

Mark Rae [MVP] - 30 Dec 2007 00:29 GMT
> Then why does the client need a driver, if the server is doing the
> printing? This is actually my *real* question.
[quoted text clipped - 3 lines]
> another XP computer on the network is easy, but a Vista x64 machine on my
> network cannot access this printer because there is no Vista x64 driver.

That's right. I think that you may be getting confused between printer
drivers on the host and printer drivers on the guest...

In order for any machine (physical or virtual) to use any printer (shared or
local), the machine *must always* have a driver for that printer. In your
particular case, there is no Vista x64 driver for your printer, so your
Vista x64 driver can't print to it, no matter where it is. The purpose of a
printer driver is to take the output from an application and render it in a
format that the printer can understand. In this case, it doesn't matter that
the printer is connected to a machine which is running an OS for which there
is a suitable printer driver because the host printer isn't doing the
rendering, although it will ultimately be doing the printing - I feel this
may be where the confusion has arisen...

In the case of VPC and a USB printer, both the host and the guest must have
a printer driver installed. Firstly, the host needs a printer driver in
order to be able to share the printer in the first place, and the guest
needs a printer driver in order to be able to render the output for
printing.

In the case of VPC and a parallel printer, the *host* doesn't need a printer
driver necessarily because it is merely allowing virtual machines to use its
parallel port - the printer doesn't need to be shared, in fact it doesn't
even need to be installed on the host. However, the guest still needs a
printer driver to render the output before sending it to the virtualised
parallel port.

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

David Wilkinson - 30 Dec 2007 11:43 GMT
> That's right. I think that you may be getting confused between printer
> drivers on the host and printer drivers on the guest...
[quoted text clipped - 23 lines]
> However, the guest still needs a printer driver to render the output
> before sending it to the virtualised parallel port.

Mark:

Thanks for the excellent explanation.

However, the issue is not my confusion about *how* it is. I know from
experience that Windows printer sharing requires both the server and the
client to have a driver for the printer in question (the server in order
to share out the printer in the first place, and the client in order to
actually be able to print to it).

My question is rather *why* it is like this. If I think of the server
just as a print server (so that the only requirement is to be able to
print from the client) it seems unnatural to me that a full printer
driver is needed for both computers.

Signature

David Wilkinson
Visual C++ MVP

Mark Rae [MVP] - 30 Dec 2007 14:41 GMT
> My question is rather *why* it is like this. If I think of the server just
> as a print server (so that the only requirement is to be able to print
> from the client) it seems unnatural to me that a full printer driver is
> needed for both computers.

Every device attached to any machine needs a driver...

Even in the scenario of a parallel printer connected to a host machine with
no printer driver, the host machine will still have a driver for its
parallel port otherwise it wouldn't work...

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

David Wilkinson - 31 Dec 2007 11:29 GMT
> Every device attached to any machine needs a driver...
>
> Even in the scenario of a parallel printer connected to a host machine
> with no printer driver, the host machine will still have a driver for
> its parallel port otherwise it wouldn't work...
Mark:

I understand what you are saying, and I know how it is, but it seems to
me that a situation where N OS's and M printers requires M*N distinct
printer drivers is somehow not ideal. Surely there are parts of such
drivers that are OS-specific, and parts that are printer-specific, and
if there were some kind of separation of these features, the
client-server aspects of printer sharing could be less restrictive.

It's like compilers. Once you have a C compiler for a given
architecture, you can in principle write a C "translator" program that
converts any other computer program (e.g. Fortran, or C++) into an
equivalent C program. So if you have M architectures and N languages,
you only need M C compilers and N translators, rather than M*N full
compilers.

The role of C in the printer driver situation could perhaps be taken by
postscript.

Signature

David Wilkinson
Visual C++ MVP

Mark Rae [MVP] - 31 Dec 2007 12:04 GMT
> Surely there are parts of such drivers that are OS-specific

No - the printer needs to receive input in the same format irrespective of
what OS is doing the rendering...

> It's like compilers.

No it isn't - printers are hardware, not software...

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

David Wilkinson - 31 Dec 2007 13:21 GMT
>> Surely there are parts of such drivers that are OS-specific
>
[quoted text clipped - 4 lines]
>
> No it isn't - printers are hardware, not software...

Mark:

I don't know too much about postscript, but if I had PDF Writer on my
Vista x64 client, I could presumably print to a PDF file on the XP x86
server. I could then send a TCP/IP message to the server to print this
file using PDF Reader. This achives the separation I am talking about:
each server needs a "PDF reader" and each client needs a "PDF Writer".
There is no need for these two pieces of software to be in any way
related. [Of course the server also needs a print driver for the
printer, but the client does not.]

Why could such a scheme not be used automatically?

I'm sorry that this line of questioning has nothing to do with Virtual
PC per se ...

Signature

David Wilkinson
Visual C++ MVP

Mark Rae [MVP] - 31 Dec 2007 13:57 GMT
> Why could such a scheme not be used automatically?

No idea - maybe try one of the Windows newsgroups...?

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

Robert Comer - 31 Dec 2007 14:07 GMT
>Why could such a scheme not be used automatically?

Because most printers aren't nearly smart enough to do that (even most
postscript printers -- PDF isn't quite the same thing as postscript,)
the host has to control them.

A network connected postscript printer with a generic postscript
driver on the host could get close to what you want...

Signature

Bob Comer <Microsoft MVP  Windows - Virtual Machine>

>>> Surely there are parts of such drivers that are OS-specific
>>
[quoted text clipped - 20 lines]
>I'm sorry that this line of questioning has nothing to do with Virtual
>PC per se ...
Mark Rae [MVP] - 29 Dec 2007 23:14 GMT
> But here we have a situation where the client (XP virtual machine) does
> have a driver for the printer, but the printer is attached to a machine
> (the Vista host) that does not have a driver. But why is the driver on the
> host needed, if it cannot be used by the client?

The host doesn't need a driver for a parallel printer because VPC virtual
machines virtualise parallel ports. In this configuration, the guest is
doing the printing.

The host does need a driver for a USB printer because VPC virtual machines
do not virtualise parallel ports. In this configuration, the host is doing
the printing.

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.