Showing posts with label Vista. Show all posts
Showing posts with label Vista. Show all posts

Monday, April 13, 2009

New Deadwood snapshot

I have posted a new snapshot of Deadwood today. No code changes have been made; the only thing different is that there is a new file, Vista.txt, that is a copy of a recent blog here that describes one way to install and get Deadwood to work in Windows Vista.

"Cityhopper" has given me a link to download Microsoft Visual studio; I have downloaded this program and now have a full Microsoft development environment for my Windows XP system. Unfortunately, I currently don't have a copy of Vista to test Deadwood on, so will not be able to make a proper UAC menifest for Deadwood until I get my hands on Vista again. In the meantime, the admin cmd prompt workaround allows Vista users to use Deadwood.

It can be downloaded at maradns.org/deadwood/snap

Sunday, April 12, 2009

Windows Vista, Manifests, and MinGW

"Mr. Max", who has been helping me with Windows-specific programming in Deadwood, pointed out that the correct way to have an application request for admin rights from Vista's UAC is to give the program a "manifest" that tells the UAC to do the make-the-screen-dark and ask-for-admin-rights thing.

However, doing some research, it looks like it's not possible to have the toolkit I use to build Deadwood, MinGW, add this manifest. The "manifest" the UAC looks for is meta-data in the .exe file; the tool to add this meta-data (mt.exe) is part of Microsoft's visual studio and I don't think Microsoft currently makes this a free download (they did a couple of years ago, but I think that program ended).

I should probably describe MinGW a little. MinGW is a set of programs that make a GNU (Linux-like) build environment available in Windows to make Windows applications. By using this toolkit, I can use the same source code and tools to build binaries both for Linux and for Windows. For various reasons I use an older version of this toolkit, and Windows Vista was only a glint in Bill Gates' eyes when the version of MinGW I use was released.

So, the toolkit I use to build Deadwood doesn't have a tool to add manifests for UAC. I don't think newer versions of MinGW do either; since MinGW is open-source software, software gets released when it is released and adding new features can be glacially slow.

The long and the short of it is this: I can't add a manifest to Deadwood.exe right now because I don't have the mt.exe tool to add this. I don't know how to download such a tool free and legally. I'm sure a version of it is avaiable over at TPB, but I don't want to go there for legal and ethical reasons (Yes, Microsoft's programmers should be compensated for their hard work).

So, for the time being, I will instruct Vista users to use the admin cmd prompt workaround to install Deadwood.

Saturday, April 11, 2009

Deadwood in Vista: The admin cmd prompt workaround

I posted yesterday about working around Vista's UAC with Deadwood by renaming the Deadwood program. Another way to get Deadwood to work in Vista is to use a cmd prompt with superuser (sorry, I meant to say "admin"; I've been using Linux for far too long) privileges.

To create a cmd prompt with admin rights:
  • Right click on an unused part of the desktop
  • Select the "new" sub-menu
  • Select "shortcut" in this sub-menu
  • When it asks for the location of the new shortcut, just type in "cmd" (without the quotes)
  • Click on "next"
  • When it asks for a name for the shortcut, the name "cmd" is fine; click on "finish"
  • There will now be a shortcut on your desktop with the name "cmd". Right click on this shortcut.
  • Select "properties", and make sure the tab selected at the top of the "proprties" window is the "shortcut" tab
  • Click on the "advanced" button
  • Check the "execute as administrator" checkbox
  • Click OK in this window and (if needed) in the "properties" window
At this point, you will have a shortcut with the name "cmd" that is akin to the "su" command in *NIX: Clicking on this shortcut will give you a command prompt with full access to the system. Note that the UAC thingy will ask for confirmation every time before giving you access to this command prompt.

Once setup, this cmd window can be used to install Deadwood on Windows Vista as per the directions for installing Deadwood in Windows XP.

Friday, April 10, 2009

How I got Deadwood to work in Vista

I was able to get Deadwood to work in Vista this week. Here is what I did:
  • I renamed Deadwood.exe with the name install.exe
  • I installed Deadwood as a serivce by typing in install.exe --install
  • Vista's UAC thingy asked if it was OK for install.exe to run; I let it continue
  • I edited the dwood2rc.txt file as per an XP install of Deadwood
  • net start Deadwood doesn't work, so I had to start the service by going to the service control panel (another confirmation needed by UAC to open up this control panel) and starting the service there
Does anyone know of other ways to work around Vista's UAC tingy when installing a service, or of getting it so we can get the UAC to ask for confirmation without renaming the program?

Another possible workaround for Vista's UAC is to use an Admin command prompt, as described on this page