Saturday, December 26, 2009

No Internet access can cause slow program loads

I have been doing alot of reading over the holidays about digitally signing programs for Vista and Windows 7.  I discovered that some Microsoft .Net programs might load slowly on computers that are not connected to the Internet.

This occurs with programs that are digitally signed.  (Microsoft recommends that all programs be digitally signed.)  The .Net Framework attempts to verify the digital signature.  One of the operations it performs is to see if the digital certificate has been revolked.  If the computer cannot access the Internet, a 30 second to 1 minute delay may be encountered.

The Weather Message programs prior to version 3.5 have not been digitally signed.  They however use components that are digitally signed.  Starting with version 3.6 some of the individual programs will be digitally signed.

If you have a computer that does not have Internet access, I recommend that you disable the check for revolked certificates.  This can be done by starting Internet Explorer.  Cllick Tools, then Internet Options.  Click on the Advanced Tab and scroll down to Security.  Uncheck the "Check for publisher's certificate revocation" option.  After saving this change reboot the computer.

Note:  No one has reported this problem.  I just ran across the information today and wanted to post it here as a reminder.

Friday, December 25, 2009

TCP Components Upgrade Completed

I have completed the TCP/IP components upgrade in Weather Message and emPagerPro.  During the upgrade I added support for SSL connections and NTLM authentication in the email subsystem. 

I am still testing the changes, but everything appears to be working properly.  There were quite a number of changes, but it was completed in record time.  It took about 12 hours to make the changes.  I had thought it would take longer.  The changes between IPWorks version 6 and version 8 were not as drastic as I had thought.

I need to update the documentation with the changes. 

Wednesday, December 23, 2009

TCP/IP Components Upgrade

I am in the process of upgrading the TCP/IP Components used in Weather Message.  This upgrade will give me the ability to implement secure (SSL,TLS) connections with email servers.  This will make it easy to use secure email servers like Google.

I am hoping that this upgrade will be relatively easy to implement in the software.  I will be working on it during the Christmas holiday.  This represents a $1500.00 investment in new software and technology.

This will make the email sub-system fully compatibile with all email servers.

Tuesday, December 08, 2009

Visual Studio 2008 - Changing the application manifest template

After discovering that Windows 7 wants a special guid in the application manifest, I wanted to change VS 2008's default manifest so that it included this GUID by default.

Here is the procedure.

Navigate to
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\VisualBasic\1033

Copy AppManifestInternal.zip to another directory. 
Extract the two files in AppManifestInternal.zip to a working directory. 
Change app.manifest as desired.

The following is the manifest that I am using.  It does not format properly here in the blog.

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the 
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel  level="asInvoker" uiAccess="false" />
<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel  level="highestAvailable" uiAccess="false" />
If you want to utilize File and Registry Virtualization for backward 
compatibility then delete the requestedExecutionLevel node.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<!--Windows 7-->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!--Windows Vista-->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>

After you complete the changes, zip up the changed file (app.manifest) back into AppManifestInternal.zip.  Copy AppManifestInternal.zip back to the original directory.

Now navigate to
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\VisualBasic\1033\AppManifestInternal.zip

In this folder you will find the two files again.  This is in the cache directory.  Copy the app.manifest that you changed to this directory.

This completes the changes.  Now when you add an application manifest to a program using the View UAC Settings button, it will contain the changes for Windows 7.

Windows 7 - Program names that include "setup"

I took some time over the weekend to test the Weather Message installer on a Windows 7 computer that had UAC enabled.  I had already tested everything on a Windows 7 computer, but it did not have UAC enabled.

I discovered something interesting.  If a program name contains the word "setup", the Windows 7 program compatibility assistant thinks the program is an installer.  Weather Message contains the program WxMesgSetup.exe.  It thought it was an installer! 

As per Microsoft, I had already included an application manifest.  This manifest made Vista happy.  With that manifest, Vista did not think WxMesgSetup was an installer.  The program compatibility assistant was changed in Windows 7.  It still thought it was an installer, because it did not write an uninstall registry key.

To my dismay, when I clicked Save in Weather Message Setup, I was greeted with a window that said "This program might not have been installed correctly."  I had a prompt to reinstall the program or indicate that it was installed correctly.  Well the program was installed correctly.

After some research time, I discovered that Windows 7 wants a special GUID placed in the manifest of each program to indicate that the program is fully compatible with Windows 7.

I updated all of the programs with this special GUID.  Now Windows 7 no longer thinks WxMesgSetup.exe is an installer.

Saturday, December 05, 2009

VTEC Action Description

After a couple of requests to change a VTEC action's description, I have moved those descriptions to an external file.  Version 3.6 will allow you to change those descriptions by editing the VTAction.dat file in C:\Program Files\WxMesgNet directory.

Google Voice - formerly Grand Central

Sometime ago I signed up for Grand Central.  That service is now known as Google Voice.  It is quite an interesting application.  When you sign up, you get assigned a telephone number for the city of your choice.  You then associate all of your telephones, cell and land based, with your account.  When someone calls your Google Voice number, their service will ring all of your phones trying to locate you.

It has one feature that I really like - voice mail with transcription.  When someone leaves you a voice mail, Google will transcribe that voice mail into text and email you the message.  You can go on-line and hear the message or just read the text.  (They say that I can use their voice mail instead of my cell phone voice mail.  I have not tried this yet, but it would be great.)

It has a number of nice features.  If I want to call my friend in New Mexico, I go to the website, enter his number and tell it my phone number.  It will call me first and then my friend.  No long distance!

They also have a gadget that you can post on a website or blog that will allow others to call you at no charge.  I have played with that feature with a couple of my Weather Message customers.  I give them a link, they enter their telephone number, Google calls them and then rings my home phone, office phone, business cell and personal cell.  If I don't answer Google routes it to voice mail, then sends me a short message on my cell phone.

Now that is what I call number portability.  I have one number that follows me everywhere.  No more hiding.  You just have to get that number.

I am considering using this capability for telephone support for users.

Oh - I forgot to mention that it is free....

Blog Change - Share It Gadget

I added a new gadget to the right side of the page so that users can share this blog on Twitter or Facebook.

Weather Message Version 3.6 Installer backs up user files

I have made changes in the Version 3.6 Update Installer so that it will backup all of the *.dat files to C:\Program Files\WxMesgNet\Backup, before overwriting these files. 

The Update Installer currently tells the user that it wants to install updated product files.  This is a little misleading.  There are a number of updated files.  For the 3.5 release, this included new FIPS County information and revised Zone County information.

Users will now receive a little more detail letting them know that several files will be updated.  It will not include a list of files.  It will tell users that if they install the revised files, their original files will be backed up in the directory listed above. 

This will allow users to go ahead and install the revised files.  After the install is completed, they could go back and restore the files that they have modified.

These files would not normally be modified by users, but in some situations, I have recommended users change these files to accomplish their requirements.