Pages

Saturday, April 11, 2009

Uninstalling Live Mesh Beta

Known Issues List contains instructions on how to fully uninstall Live Mesh even if the installation is damaged (which often happens to me). Also, there are instructions on how to install Mesh without UAC.

My installer is broken so I had to manually remove all traces of the client in order to be able to install it again.

Live Mesh Beta: Known Issues List

Issue: Live Mesh is not installed or is installed partially and the customer sees a dialogue stating that Live Mesh cannot install because it is already installed.  Customer is not able to uninstall Live Mesh.

Cause: This experience is typically caused by an interruption in the normal installation process leaving the Registry in a state where certain entries are not removed or added properly.

Possible Workarounds: The Live Mesh installer, LiveMesh.exe, can be used with switches from a command line to install, uninstall, or repair Live Mesh. Note: sometimes you may need to repair the Live Mesh installation before uninstalling it.

     Using LiveMesh.exe switches 
          1. Download the LiveMesh.exe installer
          2. Navigate to http://www.mesh.com/ and log in using your Live ID
          3. Click on the Devices tab
          4. Select Add Device
          5. Select your platform choice then click Install
          6. Pick the option to Save (remember this location)
     If you are installing on Vista, you will need to run these switches from an Elevated Command Prompt.
          1Click on Start
          2. Select All Programs
          3. Select Accessories
          4. Click on Command Prompt (Please note: if you are installing on a Windows Vista computer, you will need to right-click and select Run
              as administrator)
          5. Once you are in your Command Window navigate to the location that you saved the LiveMesh.exe installer and type one of the following:
                  LiveMesh.exe /repair (assumes the product was already installed or needs to be repaired)
                  LiveMesh.exe /uninstall (removes the product)
                  LiveMesh.exe (no switch, installs the product)

 

If installing/uninstalling from a Command Prompt does not work, you may need to manually remove the Live Mesh Registry entries.

      Manually editing the Registry
           1. Click Start
           2
. Click Run
           3. Type Regedit and hit Enter (if you are on Vista you will need to agree to a UAC prompt)
           4. In the Registry Editor remove the following Registry entries:
                 HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\9D1E4BCD781B45B479E1418784C5A935
                 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\<YOURSID>\Products
                 \9D1E4BCD781B45B479E1418784C5A935   (NOTE:  value will be unique to you.)

Friday, April 10, 2009

Getting Started with Java GoogleApps

I registered for Java with GoogleApps and I’m full on into setting up a development environment and getting my first “Hello Web” application onto the platform. The development, according to the documentation is extremely simple.

Some useful links are listed below. For setting up the development environment:

Some HTML parsing libraries:

Templating libraries may come in handy:

  • JTPL - simple template engine for Java servlet

Thursday, April 09, 2009

Groovy - Home

Groovy is a superset of Java programming language and should soon be available on Google Apps platform (appspot). Google Apps announced yesterday that they are supporting Java as a development language.

Looking forward to my invitation. Got JDK and Eclipse ready. I find this to be an excellent step forward in bringing forward both Web as a development platform and Java as a programming language. Finally some strongly-typed language gets more popular and available online.

Groovy goes a step further by adding meta-programming features. This includes dynamic typing so I'm interesting how that is going to work out.

Groovy is like a super version of Java. It can leverage Java's enterprise capabilities but also has cool productivity features like closures, builders and dynamic typing. If you are a developer, tester or script guru, you have to love Groovy.

Groovy - Home

AppJet Error

AppJet error in library global/printing.js

JavaScript Error: Cannot call method "write" of undefined (Line 214)

I had this error while I was working on an application at AppJet. It was weird because the code was breaking on a simple print() function.

This error is caused by the fact that “page” variable is used by Appspot as a global variable representing the page to be displayed to the visitor. Page contains Body element (page.body) and print is an alias for page.body.write.

In my case, I was using page in one of the functions to retrieve other page from the web and then parse it internally. This redefined the main page variable and then writing strings on the page would not work anymore.

So, if you happen to get the same error, rename your “page” variable into something else. :)

Ajaxload - Ajax loading gif generator

At Ajaxload you can select your own indicator for UpdateProgress indicator. This is quite convenient if using Ajax calls, to indicate that there is something going on in the background.

Simple usage in ASP.Net is to put one of the created images into UpdateProgress control, which is displayed when an Ajax call is made from UpdatePanel.

Ajaxload - Ajax loading gif generator

New Live Mesh Issue – Infinite Upload

As of couple a days ago my Live Mesh client at home is going nuts. It is constantly uploading something. The funny thing is that the tray icon does not indicate any activity. NetLimiter Monitor also does not show any activity per processes running but the wireless traffic indicator points that there is something being uploaded all the time. Looking at the logs does not reveal anything.

The issue has been raised on the Mesh Forum - link, and submitted on the Connect site - link.

Update:

I can not uninstall the Mesh client. I removed the client manually, according to the instructions in the Known Issues post but without any differences in behavior after the new installation (with UAC turned back on).

Also, since the only installation package available for download is build 14, I can not install it with UAC turned off.

Monday, April 06, 2009

Enabling Code Coverage in VSTS Test Runs

To Enable Code Coverage in VSTS Unit Test runs go to menu Test->Edit Test Run Configurations. Select the configuration you want to edit. By default this is Local Test Run. Configuration window will open, displaying options for the default test run. Selecting Code Coverage in the window on the left will present the Code Coverage options. On the right-hand side, elect the checkbox next to the DLL you want to run code coverage on. Now, every time the Unit Tests are run, the Code Coverage will also run for the selected DLL.
Just note that Debugging a unit test, as opposed to Running it, will not include Code Coverage.

Unit Tests with VSTS 2008 in a Context Menu

Unit testing in the .Net Framework 3.5 is quite usable and has so far managed to replace the dependency on NUnit libraries in most of my new unit tests. One of the issues I was having recently was that TestDriven.Net plugin would hang on different occasions so I started using default test runner for Microsoft’s unit test library.

In Visual Studio, you can display Test Tools toolbar and Run or Debug unit tests from there. There are also keyboard shortcuts that do the same thing, which is convenient if working on unit tests or code and then wanting to run the current test without moving a hand for the mouse. The shortcuts are as follows:

  • Ctrl+R, Ctrl+T = Debug tests in current context.
  • Ctrl+R, Ctrl+A = Debug all tests in solution.
  • Ctrl+R, T = Run tests in current context.
  • Ctrl+R, A = Run all tests in solution.

Running or debugging tests in current context means that, if the cursor is within a test method, only that test will be run/debug. If the cursor is outside the test method but within a test class then all the tests in the current test class will be run. Etc.

It is also convenient to see the Test Results window during debugging. One thing that is important, though, is that debugging unit tests in this way has not crashed Visual Studio 2008 once so far!

One thing that would make life even easier is to have the convenience of running and debugging unit tests through context menu, just like TestDriven.Net does.  This is fairly simple thing to do yourself:

1. Right-click toolbars and select Customize.

image

2. Display Context Menus

image

3. Now, in the toolbars, open the Editor Context Menus

image

4. In the Customize window, go to Commands tab, then click Test category.

image

5. All the available context-menu options will be displayed in the area to the right. Find whichever option you like (for example, “Debug Tests in Current Context”)

image

and drag it to the Editor Context menu to a position you like.

6. When you close Customize window everything will be set up. The final result will look like this:

image

One more thing that is extremely positive is that running tests with VSTS framework, as opposed to TestDriven.Net, allows you to edit code while debugging which was not the case with TestDriven!

Saturday, April 04, 2009

Online Databases

The next step in my web site creation is to use online databases. To use them I will need to have an online application at the same time. Below are the two I know of and that I need to play around and see if they satisfy my basic needs.

Free Online Database Application Creator: Zoho Creator

DabbleDB

Friday, April 03, 2009

Microsoft Application Virtualization 4.5

Former SoftGrid is now Microsoft Application Virtualization (App-V). It is similar to other solutions offered by other providers, like (now) VMWare’s ThinApp or Citrix. Apparently, it will be possible to access an application remotely, similar to Citrix. It will also be possible to create portable applications that do not have to be installed, similar to ThinApp.

Microsoft Application Virtualization 4.5 will be available as part of the Microsoft Desktop Optimization Pack and Microsoft Application Virtualization for Terminal Services

What I would ultimately like to see in the application virtualization space is a solution that works in a manner similar to SandBoxie. The whole installation can be boxed and, once done, packaged in a portable version. This is what ThinApp does but I do not like having a separate, clean machine just for creating portable applications.

Microsoft Application Virtualization 4.5