3.29.2008

Event 1008 MsiInstaller

Recently while updating from VMware Server 2.0 Beta 1 to Beta 2 I ran into an odd installation problem. The installation program, after spending some time initializing, would come back with an error stating "the installation could not continue due to software restriction policy" (close to this anyway, I closed the pop-up and don't remember the exact message). I would also get an MsiInstaller error listed in the application event log.

Index : 3609
EntryType : Error
EventID : 1008
Message : The installation of C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\{AF08C71F-F822-4416-87A9-2BBF5A8A5F12}~setu
p\VMware Server.msi is not permitted due to an error in software restriction policy processing. Th
e object cannot be trusted.
Category : (0)
CategoryNumber : 0
ReplacementStrings : {C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\{AF08C71F-F822-4416-87A9-2BBF5A8A5F12}~setup\VMware Server.msi
, (NULL), (NULL), (NULL)}
Source : MsiInstaller
TimeGenerated : 3/29/2008 6:21:02 PM
TimeWritten : 3/29/2008 6:21:02 PM
UserName : XP64HOST\trhodes

My PC is XP Professional 64 bit, and is not joined to a domain. I was running the installation under a local administrator account, and have never configured any software restriction policies on my PC.

I found it to be an odd error, and after rebooting, and trying to install again I still suffered from the same error.

Google returned very little, and being that VMware Server 2 Beta 2 had just been released the day before, very little assistance was available.

I finally found the following link result in Google after searching a bit, although not directly related to VMware.

http://forums.asp.net/p/1240092/2262940.aspx


This forum discussion described the same MsiInstaller error that I had been experiencing with a solution.

Start -> Control Panel 2. Open Administrative Tools 3. Open Local Security Settings 4. Click Software Restriction Policies a. If no software restrictions are defined, right click the Software Restriction Policies node and select New Software Restriction Policy5. Double click Enforcement 6. Select "All users except local administrators" 7. Click OK 8. Reboot the machine or run gpupdate /force

Which worked wonderfully. I wonder why I had the problem in the first place.

Update 4/6/08:

A week or so later I found this on VMware's site with the release notes for Beta 2, listing this as a problem for Windows Server 2003, with the fix being to right click and do a runas administrator.

http://www.vmware.com/products/beta/vmware_server/releasenotes_vmserver2.html

3.16.2008

How To: Install vmware-tools in Ubuntu 6.06 LTS

This is the procedure I used for installing VMware-tools in Ubuntu 6.06 from the command line. I'm not even sure exactly what benefit the tools are providing to a 6.06 server that doesn't use X at all, but I decided to install the tools anyway.

This assumes that you have already installed Ubuntu 6.06 into a VM and is running. It is possible that this procedure will work with another Linux distribution, however the package manager commands will probably be different. I would imagine the rest of the procedure would be quite similar though. This is also tailored to VMware Server 2.0 Beta, although I imagine it would work with any other version as well.

On the summary page for the VM click install tools, this will have your VM point to the iso file that contains the tools.

Then open up the console. I found it necessary to mount the cdrom manually ...

sudo mount /media/cdrom0/ -o unhide

If you do:

cd /cdrom

ls

You should see two files there:

VMwareTools-e.x.p-63231.i386.rpm
VMwareTools-e.x.p-63231.i386.tar.gz

You have successfully mounted the tools iso.

Now, cd to /tmp ....

cd /tmp

And, extract VMwareTools*.tar.gz

sudo tar xvf /cdrom/VMwareTools*.tar.gz

(list of files) ....

Okay, now we can try to install the tools ...

cd vm*

sudo ./vmware-install.pl

Accept the defaults, unless you have a reason not to.

(note to myself after blindly accepting the defaults: What is the directory that contains the init directories? (/etc), , what is the directory that contains the init scripts .... It may be a good idea to make sure the defaults are correct actually for Ubuntu ... but thats for another day.)

And then the first problem pops up, you'll most likely run into it as well on a new install of Ubuntu 6.06. After the script asks you if you would like to run vmware-config-tools.pl, and you say yes, it will inform you that none of the vmmemctl modules are suitable for your running kernel, and ask you if you want to build the vmmemctl module for the system. Go ahead and say yes.

Alright, now it says setup is unable to find the "make" program on your machine blah blah blah...

[Ctrl+C] out of the script ...

You need to install some stuff for this to work obviously, to save you some time ... You need to install the packages build-essentails, and the Linux header files for your kernel.

sudo apt-get install build-essential

uname -r

sudo apt-get install linux-header-"what uname -r printed out"

A side note, when I ran apt-get install linux-header-* apt-get was unable to locate the files. Sometimes its necessary to run "apt-get update" ... this made apt-get be able to locate the files.

Alright, now that we have the headers and build essentials installed, we should be able to complete the tools setup.

Start vmware-install.pl

sudo ./vmware-install.pl

Accept defaults again ....

Say yes and let it build you a version of whatever it needs ....

The last option, Virtual Machine Communication Interface (VMCI) service, says that its experimental and defaults to no, I left it that way.

My vmhgfs failed to mount, which I think has to do with shared folders, and wasn't too big a concern for me, but it would be interesting to see why. Everything else appears to work fine.

And thats all there is to installing vmware-tools in Linux, almost as easy as Windows...

3.15.2008

Silverlight Feature Request

Lately I have given a lot of thought to producing a P2P web based application and have begun to research the possibilities. I wanted to have a P2P site where you could access open-source media and whatnot, without having to download and run any type of software to your *computer*. The original and still background idea behind this need was to develop a form of a distributed YouTube, in order to eliminate the need for significant storage and bandwidth requirements for the servers.

Since coming up with the idea and doing some research into the possibilities I have come up with some additional ideas, and with them problems.

First was how to implement a P2P website. Traditionally, the content on the website is retrieved from the server. I wanted to be able to have the embedded Flash, or whatever control, obtain the content from a P2p network. As far as I am aware there is no way to do this currently.

So I started to research different ways to accomplish this. The first thought that came to mind was to develop an ActiveX control. Obviously this has a number of drawbacks, primarily compatibility. I'm not aware of how Firefox handles ActiveX controls, although this might be something to look into. Although even if Firefox handles ActiveX decently, it won't work on anything but Windows.

Researching the ActiveX option I stumbled across something I had heard of, but didn't know much about, namely, Silverlight, the new Microsoft cross-platform-browser .NET control. Most of the excitement behind it is it's capability to develop user interfaces and media for the web. For the first version, this is basically the limit of its capabilities. Slated for the second version was being able to access a subset of the .NET framework from a Silverlight control. A few of the features included isolated storage and networking support, including support for sockets networking.

However, doing some more digging into the support for sockets, it appears that they are quite handicapped within Silverlight, understandably so for security reasons. Currently in the beta they are limited to a number of ports, they cannot listen for incoming connections, and they can only connect to the host where the control was downloaded from.

I can definitely appreciate the security concern of allowing a Silverlight control to run with unfettered networking capabilities. It would not be good, especially since I'm not aware of any procedure or capability for a Silverlight control to be signed or verified by the client, which is a feature which is available for Java Applets.

I certainly think a nice feature would be for the creation of signed Silverlight controls, which could then be given additional networking / local filesystem privileges on the client PC, perhaps to be controlled by some type of access lists. This would make it possible to develop powerful web based applications based on the .NET framework that would be cross-platform-browser capable.

It would also make my idea easier to implement.