Tuesday, September 30, 2014

Removal/uninstall of AVG Antivirus fails

I was recently helping a friend install Mcafee Total Protection Antivirus on their computer.  As many people know, Antivirus software from one company is not compatible with another company's antivirus solution.

So, of course, Mcafee Total Protection attempted to uninstall AVG Antivirus from the system.  Unfortunately, at the end of the uninstall process, AVG displayed an error message that it could not be removed!!

Well, after several attempts to uninstall it from the machine, we did a quick Google search and found out that this is a common issue for many users and it is readily solved by running a Removal tool that AVG provides directly from their website: http://www.avg.com/us-en/utilities

After running the AVG Remover tool, I was able to successfully remove AVG Antivirus from the system and install Mcafee Total Protection!

Hooray!!

Monday, September 29, 2014

Assigning Static IP Addresses to Windows Azure VMs

If you need to configure a Windows Azure virtual network and want to assign Static IP addresses to your Windows Azure Virtual Machines, you can do so directly through PowerShell:

http://www.bhargavs.com/index.php/2014/03/13/how-to-assign-static-ip-to-azure-vm/

This method basically sets up IP Address binding for the specific VMs in your virtual network similar to how you would set up MAC Address Static IP routing on a router on your own home virtual network.

This avoids the trouble of having to statically set the IP Address in the Network Adapter settings and allows it to be controlled centrally through the Windows Azure Virtual Network.

Therefore, if you need to set up communication between your Windows Azure VMs, this is a handy way to ensure that the Windows Azure VMs that are communicating with each other do not change IP addresses between reboots or other VM operations.  For example, if you are setting up TFS (Team Foundation Server) in the Windows Azure cloud, you may need to rely on your TFS Build machine reliably deploying to the same server on a consistent basis.  If the IP Address of your deploy VM changes, this can break your build and deploy process and therefore ruin your overall CI (Continuous Integration) strategy.  By setting the IP address statically, you can avoid the headaches associated with managing your CI strategy across multiple Windows Azure VMs.

NOTE: However, one thing to note regarding setting static IP Addresses to your Azure VMs, is that if you have already configured Primary and Secondary DNS Servers to your Network Adapter, then these values will be wiped out immediately after assigning a Static IP Address to the Azure VM.  You will have to re-add this information back into the Network Adapter once the Static IP Address has been assigned to the Azure VM.  

Sunday, September 28, 2014

Switch between apps slideout does not go away

I just recently bought a Windows 8.1 laptop that worked both as a touchscreen as well as a regular laptop with a touchscreen.

I was using a Metro App from the Metro Start menu and as soon as I opened my Metro application, I ended up with a slideout "Switch between apps" that did not automatically go away when I opened my Metro app!

No matter what I did in the Metro Start menu, I could not make this slideout disappear!! 

Fortunately, after doing a bit of searching for posts on this problem, I discovered, that you have to simply hover your mouse in the upper left hand corner of the screen in order to get this "Switch between apps" slideout to disappear!

I even found a YouTube video which demonstrates how to resolve this annoying problem/issue: https://www.youtube.com/watch?v=7-x6sQ0WNuo

Wednesday, September 24, 2014

Running Virtual Machines in Windows Azure Virtual Machines

If you want to leverage the existing Windows Azure Virtual Machine infrastructure to run older/legacy VMs such as Windows XP and Windows Server 2003, fortunately, you can do just that!

Here is an article that describes how to do just that: http://fabriccontroller.net/blog/posts/running-a-legacy-os-in-a-windows-azure-virtual-machine-windows-xp-windows-server-2003/

As you can read from the post, only Oracle VirtualBox will support running in a Windows Azure Virtual Machine.

However, there are also a few points when setting up the VirtualBox VM that are not mentioned:


  1. You should install the Oracle VirtualBox Extension Pack in order to ensure everything works regarding mouse and keyboard input etc.
  2. You will probably need to add a Windows Firewall exception in the Windows XP machine or turn off the Windows Firewall completely
  3. You need to set up the VM using NAT in order to use the Port Forwarding feature.  You can set up NAT either in the Preferences of Oracle VirtualBox or configure it on a machine-by-machine basis.  Using other networking options will not work.
  4. When you set up NAT, you will need to configure the Guest IP address as the target for Port Forwarding.  If the Guest IP address is not configured, Port Forwarding may not work.
  5. You may also need to set up the Remote Display feature in order to get RDP to work correctly (Display-->Remote Display)
Leveraging the Windows Azure Virtual Machine infrastructure is very handy if you need to do some testing on older legacy Windows OSes until you phase out support for them completely.  As many IT users know, numerous applications still only work on Windows XP which is why it has been so difficult for Microsoft to completely drop support for Windows XP for so many years.

As an experiment, I decided to see if I could also get Windows 7 or Windows 8/8.1 running on VirtualBox inside of a Windows Azure VM and I got the error message "AMD-V is not supported".  Therefore, you can only run older legacy OSes on VirtualBox inside of a Windows Azure VM.



Download Legacy Windows VMs

If you have a need to test older versions of Internet Explorer or need to run legacy applications that will only run on an older version of Windows (such as Windows XP), fortunately, you can download older versions of the Windows OS available as virtual machines directly from Microsoft!

You simply go to https://www.modern.ie/en-us.  You then click on the link for Virtual Machines and download a virtual machine for the specific virtualization platform that you are using: https://www.modern.ie/en-us/virtualization-tools#downloads

 That is all there is to it!!






Monday, September 22, 2014

Migrating VSS to TFS

I was recently working on a project where they still were using VSS (Visual SourceSafe) and had not yet migrated to TFS (Team Foundation Server).

Several years ago, I had done a large VSS to TFS migration and it was an extremely tedious and painful process requiring the use of a command-line utility as well as an XML mapping file.

Well, fortunately, a few years ago, Microsoft released a GUI VSS Upgrade Wizard that eliminates the need for all of that manual effort:  http://visualstudiogallery.msdn.microsoft.com/867f310a-db30-4228-bbad-7b9af0089282

The tool actually states that it only supports TFS 2010 and TFS 2012, but it worked just fine for migrating to TFS 2013 as well.

The overall guidelines to upgrade from VSS to TFS can be found here: http://msdn.microsoft.com/en-us/library/ms253060.aspx

In order to prepare to upgrade from VSS, you can read the guidelines here: http://msdn.microsoft.com/en-us/library/ms253127.aspx

The preparation to upgrade basically involves:

  1. Knowing the Admin password to the VSS database
  2. Having Administrative access to TFS
  3. Installing VSS 2005 on a computer that also has access to TFS
  4. Running Analyze on the VSS database (and fixing/repairing the VSS database if necessary)
In addition, here are some other considerations when working with your VSS database that are not always well known:

  1. Each VSS database should preferably be 4 GB or smaller.  If you have a VSS database that is larger than this, you may encounter very lengthy analysis times in preparation for your upgrade.
  2. If you need to trim down/shrink the size of your VSS database, you can do this by archiving.  However, archives can only be 2 GB or smaller.  Therefore, this may require picking and choosing your folders that you need to archive in order to achieve this limit.  VSS, unfortunately, does not offer any assistance with chunking out archives to that they fit into the 2 GB limit.
  3. If you have forgotten your Admin password, you may be able to reset the Admin password using this utility: http://not42.com/wp-content/ResetVSSPassword.zip.  (Instructions for using this tool can be found here: http://victormaceda.wordpress.com/2009/02/11/reset-vss-admin-password-to-blank/)   If this does not work for you, you may be able to reset the Admin password as long as you have another Administrative account in VSS.  Otherwise, you may be out of luck since the TFS VSS Upgrade Wizard requires the Admin password in order to perform the migration. 

Once you are ready to upgrade, you can follow the steps to upgrade your VSS database to TFS: http://msdn.microsoft.com/en-us/library/jj612883.aspx

 If all goes well, you have successfully migrated VSS to TFS!!

Thursday, September 18, 2014

Limitations of PowerShell ISE

As a developer, one of the features that I use most in nearly any IDE is the Comment/Uncomment feature while I am writing code or scripts.  This allows me to easily test out a piece of functionality and then comment it out until I finally get all the pieces working the way I want.

Therefore, most IDEs and editors typically have this functionality built-in, so I was very shocked to discover that the PowerShell ISE DOES NOT have this feature!!  (Can you believe it??)

In the past, I have simply reverted to using PowerGUI or Sapien Technologies PrimalScript, but since PowerGUI was recently purchased by Dell, PowerGUI has not had any updates in the last several months. 

Therefore, it seems that the only full-featured AND regularly maintained PowerShell Editor now on the market is Sapien Technologies PrimalScript!  The tool is a bit pricey but if you regularly work with PowerShell scripts, the cost is well worth it.  You can download a trial version of PrimalScript from here to test it out for yourself: http://www.sapien.com/software/primalscript