Friday, December 15, 2006

Fluke DTX 1200 & DTX 1800 not on Vista

I was trying to download some test results from a Fluke DTX 1200 and 1800 yesterday but discovered that the Fluke USB drivers do not work on Vista.

Fluke tech support have no idea when drivers will be available.

In addition the help system in LinkWare 2.6 is based on WinHlp32.exe and this is not available in Vista so you cannot view the help file.

Tuesday, December 12, 2006

Create .lnk file in C#

Here is some C# code to create a shortcut to a folder. These are actually .lnk files which are handled in a special way by Windows Explorer.

First include a reference to C:\Windows\System32\wshom.ocx

Second, include the following using statement :-

using IWshRuntimeLibrary;

Third, Here is the code :-


// This creates a Folder Shortcut

IWshShell wsh = new WshShellClass();
IWshShortcut shortcut = (IWshShortcut) wsh.CreateShortcut (shortcutpathfilename);

shortcut.TargetPath = targetdir;

shortcut.Save();

shortcutpathfilename is a path & filename of the .lnk file.

targetdir is the directory the link points to.


Thursday, November 30, 2006

Code needed to dynamically write a .PNG from ASP.NET

For some strange reason you need to use the following code to dynamically output Jpeg's from an ASP.NET page.

Bitmap bitmap = new Bitmap (Path.Combine (dir , "link-notfound.png"));
bitmap.Save (Response.OutputStream, ImageFormat.Jpeg);

But a >PNG requires the following code :-

Bitmap bitmap = new Bitmap (Path.Combine (dir , "link-notfound.png"));
try
{
// This is the code required to send a PNG file. I'm not
// sure why it differs from the much simpler JPEG code
// bitmap.Save (Response.OutputStream, ImageFormat.Jpeg);
MemoryStream tempST = new MemoryStream();
bitmap.Save (tempST, ImageFormat.Png);
Response.ClearContent();
Response.ContentType = "image/png";
Response.BinaryWrite (tempST.ToArray());
Response.End();
}
catch
{
}
bitmap.Dispose();

Thursday, November 23, 2006

HP 4200C will not install on Vista


I've found another device that will not install on Vista an HP 4200C colour USB scanner.

Feeware to Mount ISO files as CD or DVD

Here is a great freeware tool to mount .ISO CD/DVD image files so they appear as a normal CD/DVD drive.

http://www.magiciso.com

Monday, November 20, 2006

Prolific PL-2303 USB to RS232 on Vista


Another USB device would not install on Vista until I tricked it...

1) Download the Prolific PL-2303 XP driver from http://www.prolific.com.tw/eng/downloads.asp?ID=31

2) Unzip and then run the setup program. This will fail on Vista so run it on an XP machine.

3) The setup program creates a folder called PL-2303_loggedDrv in c:\windows\temp. This folder contains the signed 32 bit driver you need to install on Vista. Copy the PL-2303_loggedDrv folder to your Vista machine.

4) Plug the device into your USB port. The driver install will fail as it cannot find the driver on Windows Update. Select the "Search for driver on my PC" and point it at the PL-2303_loggedDrv folder.

5) The driver should now install correctly

Nvidia GeForce Go 7600 GT on Vista

I discovered how to get the GeForce Go 7600 GT graphics card working in Vista!

1) Download the Vista Beta 2 driver from www.nvidia.com (V96.85).
2) Run the program to create a c:\nvidia\WinVista\96.85 folder.
3) Next you need to replace the nv_disp.inf file with a new one that includes a definition for your graphics card. I found one on this site http://www.laptopvideo2go.com/forum/index.php?showtopic=11478
4) You can now run setup.exe from the c:\nvidia\WinVista\96.85 folder and the installation program should now recognise the card and install the drivers.

The LV2Go website is a fantastic resource for laptop owners looking for the latest graphics drivers.

"Until recently, nVidia by default has not natively supported laptop GPUs with WHQL and beta drivers. This limitation is due only to the INF. Drivers supplied by manufacturers (Dell, Toshiba, etc.) are rarely updated and easily become outdated thus not supporting the latest graphics technology. This is where LaptopVideo2Go (LV2Go) comes in. LV2Go provides unofficial support for all of the GPUs that nVidia has created and laptops produced by manufacturers. LV2Go enhances the drivers by modding the INF to fix problems and reveal hidden features. What is a modded INF? The LV2Go community has built up nicely. Come pay a visit to the forums for more specific drivers for your laptop, news or solutions to your problems."

BT Voyager 105 USB ADSL Modem on Vista

I discovered that BT Voyager 105 USB ADSL modems will not install on Vista.

Sunday, November 19, 2006

Vista on Sony VGN-A497XP

Again a re-partition and fresh install. Vista installed without any problems. The only device that does not work is the Memory stick reader.

I also notice that the Sony custom buttons (eg Volume up & down) are not working.

Saturday, November 18, 2006

Vista on Sony VGN-AR21S

This was a disaster! It was a brand new "Vista Ready" machine with Windows XP Media Centre Edition. I decided to upgrade rather than re-install from fresh. The machine was running fantastically well before the upgrade. These are the problems I had:-

1) I had to uninstall the Toshiba Bluetooth application before Vista would even start
2) The Nvidia GeForce Go 7600 GT was not recognised and the machine reverted to VGA mode. Neither Sony or Nvidia have any drivers available on their web sites.
3) Audio does not work at all
4) TV In does not work
5) Media Centre blue screens when you start it

I've emailed Sony to see if they have a fix.

I'm really annoyed that a machine sold as "Vista Ready" should be rendered virtually useless by the upgrade. If I don't get a prompt response to this I'll complain to the advertising standards people.

Vista on Sony PCG-GRT896HP

Like all the other geeks on the planet I've spent the day installing Vista.

The first laptop was a Sony PCG-GRT896HP. I booted from the DVD (Press F2 when Sony logo appears to go into Bios to allow booting from DVD) and re-partitioned the drive. Vista installed with no problems, the audio drivers were installed once the machine connected to Windows Update.

A Logitech QuickCam Messenger webcam that was occasionally connected could not be re-installed.

I'm not completely happy that the video driver is working 100% correctly.

Friday, November 17, 2006

NTBackup.exe on Vista

I've just been preparing my machine for an upgrade to Vista. I was shocked to discover that the backup & restore program in Vista does not allow you to read XP .bkf files!

Microsoft are apparently writing a tool to allow you to read .bkf files from Vista but it is not currectly available.

I discovered you can actually use the old program if you do this:-

Copy the following four files from your XP installation to a new folder. Do this before you upgrade to Vista.

c:\Windows\System32\NTBackup.exe
c:\Windows\System32\SetupApi.dll
c:\Windows\System32\VssApi.dll
c:\Windows\System32\NtMsApi.dll

Provided your backups are on disk (not tape) you can now run NTBackup from the new folder.

You will need to make sure you right click on NtBackup.exe and select "Run as administrator" to ensure you have rights to write to the original locations.

Friday, October 27, 2006

SQL Server 2005 replication

We've been playing with SQL Server 2005 replication today. We have been testing a configuration with a single publisher and multiple subscribers. The subscribers are all in different Actibe Directory (AD) domains with no trust between them. Comms between the servers needs to be locked down with the minimum number of ports opened. All of the SQL books I have read show how to do SQL replication between servers in the same AD domain.

To test the configuration we had 5 servers running SQL server 2005 on Windows Server 2003 SR2. The firewall was turned on and a single TCP port (1433) was opened on each server. All the servers were set to communicate using TCP/IP only, all other client and server protocols were turned off.

In order to replicate between servers the following settings were required:-

1) SQL server was setup to allow SQL Authentication mode. An account was setup specifically for the subscribers to use when connecting to the publishing server.

2) In order to replicate between the servers it was necessary to setup a HOSTS file with the IP address of the remote server. Replication does not work if you use either a raw IP address or a fully qualified domein name configured in the DNS server. I suspect this is because the server name is used to establish both a TCP/IP connection and an application level connection to the SQL server.

If you use these settings you should be able to replicate sucessfully.

Monday, September 25, 2006

SQL Server 2005 SP1 does not work on Vista 5728

SQL Server 2005 can be installed on Vista 5728 (Despite the warning indicating it's not compatible), but installing SP1 seems to stop SQL from working. The solution seems to be to remove and then re-install SQL Server 2005.

When is SQL Server 2005 SP2 going to be available? Apparently this will be the version supported on Vista.

SQL Server 2005 SP1

I had a wierd problem trying to install SP1 on SQL Server 2005 today...

Originally I had the upgrade file (SQLServer2005SP1-KB913090-x86-ENU.exe) on an external USB hard drive, I found that I had to copy the file from an external USB hard disk to my local machine and then remove the external USB drive from my system for the install to work. Before I removed the USB drive the upgrade tool was putting the unpacked files on the USB drive (probably as it had most free space) and for some wierd reason they would not install from there. Once the USB drive was removed the installer unpacked the files to drive D: and the installer worked fine.

Vista 5728

I’ve been running Vista RC1 for a couple of weeks and have just upgraded to 5728. Seems nice and stable. Plugged in a 1Gb USB key to see how much of a speed improvement ReadyBoost gives. It seems quicker when you have loads of apps open. However my Sony MemoryStick and volume controls still don't work.

I had some trouble upgrading Office 2007 to B2TR. In the end I had to remove Office B2 and reinstall. I could not use the uninstall option and had to resort to using the following utility to remove Office 2007 Beta 2.

You can try the Cleanup Utility from here : http://support.microsoft.com/kb/290301/en-us

Friday, September 01, 2006

Vista 5536

I've been running 5536 for a couple of days now and it's looking much better than earlier builds. The video driver is now recognising my laptop screen correctly. However still two problem drivers. The extra buttons on my Sony laptop still don't work. In addition the Memory stick has still not been fixed. I emailed Sony about these problems however I don't expect any response from them...they are not good at customer support!

Just found out that 5600 will be available next week. Still waiting to get hold of Office 2007 B2TR..hopefully that will be out soon!

Tuesday, August 22, 2006

Visual Studio 2005 File Open Crash

Today I had a c# project that caused VS2005 to crash whenever I tried to open a file using file->Open->File...

I think the hidden user options file (projectname.suo) had become corrupt. As soon as I deleted the .suo file I could use file open command again.

The .suo file is in the same folder as the .snl file.

Wednesday, July 26, 2006

Vista 5472

Yesterday I upgraded my Vista Beta2 machine to the latest build 5472. The upgrade completed successfully but took about 4 hours to finish! So far I have found the following problems:-

I have a Sony VGN-A497XP laptop with an ATI X600 screen. Since upgrading to 5472 my max resolution has dropped from 1920x1200 to 1600x1200. I’m not happy with this!

There are now 3 devices without drivers. Windows update cannot find them.

The memory stick still does not work

Laptop extra buttons (volume up down, CD eject etc) still do not work.

Welcome Centre->Setup Devices does not work as it says reinstdrvs.exe does not exist.

Monday, June 26, 2006

Another hard disk dead


I had a Freecom Classic Mobile HD 2.5" 40Gb external USB hard drive on which I had installed Office 2007 & VS2005. It stopped working today despite only having bought it a couple of months ago.

Tuesday, June 20, 2006

Desktop background


Here is my favourite 1900 x 1200 photo of Meribel that I took earlier this year. Feel free to use it as your desktop background.

Download File

Monday, June 19, 2006

10GBaseT & Cabling Standards

Last week I was at the British Standards Institute TCT7 committee meeting reviewing several important changes to the UK & European cabling standards. I thought I would provide a quick summary, if you would like any further details please ask.

10GBaseT – Ethernet Standards
The IEEE have finished the 10 Gigabit Ethernet over copper cabling standard on time and it will be officially published very soon. However there is widespread concern that important elements have been omitted in a rush to finish the standard “on time”. Please remember the 10GBaseT standard is an electronic protocol standard NOT a cabling standard. 10GBaseT will support a channel length of 100m over Cat 6 FTP and Cat 7 FTP (both available today) and over 100m of Cat6a UTP (in the future – standard work is just starting now). The chipset manufacturers are having problems with the large amount of power needed for each chip. They currently need about 15W per port, unfortunately the chips themselves will only support 4W without overheating. As a result the pre-production chips are having to be manufactured in a larger package so they can disperse the heat better. The amount of power required is a big concern as a typical 24 port 1U switch will get very hot and thus un-reliable. The electronics industry is hoping that by making the chips smaller they can reduce the heat output, unfortunately this technology is not currently available but should be within 4-5 years. Some manufacturers have introduced pre-standard chipsets but they do not work with each other as they use different techniques to reduce power requirements. The current non-standard chipsets have only been able to manage a 30m link over Cat 6 as these can be produced more easily as they do not need as much electronics and so stay cooler. There is significant work to do before 10GBaseT becomes mainstream, do not expect widespread desktop deployment for 5-7 years.

European Cabling Standards
Firstly it’s important to remember that there are two cabling standards the American TIA/EIA who define Cat 5, Cat 5e, Cat 6 and will define Cat 6a in the future. The rest of the world uses the ISO 11801:2002 Class D, Class E (and Class Ea in the future) series of standards. Until now Cat 5e and Cat 6 have been almost identical to Class D and Class E however the American Cat 6a standard is looking as though it will be much less stringent than the Worldwide Class Ea standard. This problem of Cat 6a not being equal to Class Ea is a big issue that will hopefully be resolved before either standard is published. The very earliest these standards could be published is Q2 2007 but this would mean several important items would have to be left out and added later.

Official work on the cabling standard could not start until the 10GBaseT standard was published. Today we reviewed some of the proposed amendments to ISO 11801:2002 to add Class Ea limits. The amendments proposed will probably be rejected by the UK committee because they are very incomplete and in places simply wrong. Some of the cabling manufacturers are pushing to get this amendment published to support their “10Gig” product story. However the amendments include parameters for the “Channel” only, there are no “Permanent link” limits. This has been done in an attempt to speed up the process, adding permanent link parameters will take an extra 12-18 months. Without any “Permanent link” limits there will be nothing that installers can use to test a system. In my view there is no point publishing a new standard if it does not have any parameters that can be used to test against. The standard needs to be done properly with both channel and permanent link limits, it is likely that this process will take until at least Q2 or Q3 2008.

Any cable manufacturer pushing a “10 Gig” story now is really selling something that is still 18-24 months from being completed. (and that assumes everything goes to plan... history shows that this seldom happens and the process will take much longer)

XML Test Result Export
My initiative to create a standard file format for exporting test results from handheld testers is now a European EN50346 draft format and will be fully reviewed at the September meeting.

Tuesday, May 30, 2006

Vista & Office 2007 Beta 2

I’m now running on Vista Ultimate Beta 2 with Office 2007 Beta 2. The Vista install worked fairly well although it did not install an audio driver for my Sony VGN-A497XP laptop. The XP audio driver seemed to install OK. There are still 4 or 5 devices without drivers. One being the Sony memory stick which no longer seems to work.

Office installed without any problems. I’m not very impressed with Outlook it still does a terrible job of multi-tasking. We use an outsourced Exchange Server provider so we access Exchange using RPC over HTTPS and the whole program hangs when getting data from the server. Why is this not implemented on a separate thread so it does not stop the whole UI? Cached mode with RPC over HTTPS does not seem to work. Word is great, if you can read this then it has successfully uploaded this blog entry from Word.

One thing to notice when using Visual Studio 2005...you must right click on the application and select “Run as Administrator” if you want to debug any ASP.NET pages. If you do not do this then the execution does not stop at any of the breakpoints.

Monday, March 20, 2006

Get TEXTMETRIC from font in C#

Today I needed to get the TEXTMETRIC details for a font in c#. In C++ this was very easy but .NET does not seem to have any functions to get this information. Here is how I ended up doing it:-

[Serializable, StructLayout (LayoutKind.Sequential, CharSet = CharSet.Auto)]

public struct TEXTMETRIC

{

public int tmHeight;

public int tmAscent;

public int tmDescent;

public int tmInternalLeading;

public int tmExternalLeading;

public int tmAveCharWidth;

public int tmMaxCharWidth;

public int tmWeight;

public int tmOverhang;

public int tmDigitizedAspectX;

public int tmDigitizedAspectY;

public char tmFirstChar;

public char tmLastChar;

public char tmDefaultChar;

public char tmBreakChar;

public byte tmItalic;

public byte tmUnderlined;

public byte tmStruckOut;

public byte tmPitchAndFamily;

public byte tmCharSet;

}

[DllImport ("gdi32.dll", CharSet = CharSet.Unicode)]

static extern bool GetTextMetrics (IntPtr hdc, out TEXTMETRIC lptm);

[DllImport ("gdi32")]

private static extern IntPtr SelectObject (

IntPtr hdc,

IntPtr hObj

);



In my paint code (FontName is a string holding the name of the font)

// Get TEXTMETRIC details for font

Font font = new Font (FontName, size, FontStyle.Bold, GraphicsUnit.Pixel);

IntPtr hdc = g.GetHdc ();

IntPtr hFontOld = SelectObject (hdc, font.ToHfont ());

TEXTMETRIC tm;

GetTextMetrics (hdc, out tm);

SelectObject (hdc, hFontOld);

g.ReleaseHdc (hdc);



Then I can use the tm object to extract all the font details

PointF topleft = new PointF (x + cx, displayy + cy - (tm.tmExternalLeading + tm.tmInternalLeading));

Tuesday, March 07, 2006

IE7 stops VS2005 CSS Style Builder

When you install IE7 it stops VS2005's CSS style builder from working. There is a fix for this bug documented on the Microsoft web site:-

http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackId=FDBK46543

Saturday, February 25, 2006

Word Action Pane with VSTO in C# 2005

I have created a Word Action pane with a tab control contained within the user control. In order to force the user control to strech to fill the action pane space you need the following code:

private QuoteBuilder qb_actionpane = new QuoteBuilder ();

private void ThisDocument_Startup (object sender, System.EventArgs e)

{

qb_actionpane.Dock = DockStyle.Fill;

this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.None;

this.ActionsPane.Controls.Add (qb_actionpane);

}


The problem is that VS2005 does not display the .Dock property so you have to set it yourself in code. In addition you need the following code

this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.None;

Without this the user control does not fill the available space.

Thursday, February 16, 2006

C# - Fill TreeView with SQL data

Here is some c# code to fill a treeview with hierarchal data from an sql table. The SQL table looks like this:-



Each item in the database has a pointer to it's parent (which can be null for top level items). The DisplayOrder field is used to alter the display order of items at the same level. NodeType should be "Node" for a nodes, anything else is assumed to be a "document".

The tree is displayed like this:-


Here is the code

private void LoadTreeview ()

{

// This code fills a DataTable with an SQL Query

DataTable table = DatabaseUtility.ExecuteDataTable (

new SqlConnectionSettings.Default.SQL_DSN), (Properties.

"select ID, ParentID, DisplayOrder, NodeType, NodeText from TableName"

);

// Fill the TreeView with database data. Use null

// as parentid for top level

AddKids (null, "ParentID is null", "DisplayOrder", table);

}

private void AddKids (string parentid, string filter, string sort, DataTable table)

{

DataRow[] foundRows = table.Select (filter, sort);

if (foundRows.Length == 0)

return;

// Get TreeNode of parent using Find which looks in the name

// property of each node. true itterates all children

TreeNode[] parentNode = treeView1.Nodes.Find (parentid, true);

if (parentid != null)

if (parentNode.Length == 0)

return;

// Add each row to tree

for (int i = 0; i <= foundRows.GetUpperBound (0); i++)

{

string nodetype = foundRows[i]["NodeType"].ToString ();

string nodetext = foundRows[i]["NodeText"].ToString ();

string nodeid = foundRows[i]["ID"].ToString ();

TreeNode node = new TreeNode ();

node.Text = nodetext;

node.Name = nodeid; // This is critical as the Find method searches the Name property

if (parentid == null)

treeView1.Nodes.Add (node); // Top Level

else

parentNode[0].Nodes.Add (node); // Add children under parent

// Itterate into any nodes

if (nodetype.ToLower () == "node")

AddKids (nodeid, "ParentID=" + nodeid, sort, table);

}

}


The trick here is to use the nodetype.Name to hold a unique ID of each item. The treeview.Nodes.Find("xxx") command is the olny way you can search the entire tree (including children) and it searches the .Name property only.

Using ASP.NET 2.0 GridView Template Controls

I'm using a GridView control on an ASP.NET 2.0 page. I have added some templated columns so the grid looks like this:-

When the Test button is pressed I want to get the values in the TextBoxes. There are two options:-

Option 1
Set the CommandArgument of the Test button to hold a value indicating the row number. You need to add the following to the Test button's HTML definition

CommandArgument='<%# Container.DataItemIndex %>'


IE7B2 does not render the text above correctly, Firefox is OK, it should look like this :

Then you can get the Row and TextBox contents using this code

protected void GridView1_RowCommand (object sender, GridViewCommandEventArgs e)

{

if (e.CommandName.ToLower () == "test")

{

int rowindex = int.Parse (e.CommandArgument.ToString ());

GridViewRow row1 = GridView1.Rows[rowindex];

TextBox tb_percent1 = row1.FindControl ("TextBox1") as TextBox;

TextBox tb_value1 = row1.FindControl ("TextBox2") as TextBox;

TextBox tb_month1 = row1.FindControl ("TextBox3") as TextBox;

TextBox tb_year1 = row1.FindControl ("TextBox4") as TextBox;


Option 2

You can use the following code. With this option you do not need to set the CommandArgument on the button.

protected void GridView1_RowCommand (object sender, GridViewCommandEventArgs e)

{

if (e.CommandName.ToLower () == "test")

{

GridViewRow row2 = (GridViewRow) ((Control) e.CommandSource).Parent.Parent;

TextBox tb_percent2 = row2.FindControl ("TextBox1") as TextBox;

TextBox tb_value2 = row2.FindControl ("TextBox2") as TextBox;

TextBox tb_month2 = row2.FindControl ("TextBox3") as TextBox;

TextBox tb_year2 = row2.FindControl ("TextBox4") as TextBox;

Wednesday, February 08, 2006

VS2005 Snippets

How do I fix this problem with VS2005 snippets?

Notice application and Visual c#2005 are in there twice.

Ambiguous match found error in precompiled ASP.NET page

I upgraded an ASP.NET 1.1 project to 2.0 and precompiled it before uploading it to my production web server. Unfortunately one of the pages refused to work (I thought pre-compilation was supposed to find these problems!).

This is the error I was getting when I viewed the problem page:-

Parser Error Message: Ambiguous match found.

It turns out that Visual Studio 2005 creates hidden field declarations for all controls inserted into a page. For some reason my old code had the following field declaration:-

18 namespace ITM

19 {

20 ///

21 /// Summary description for WebForm1.

22 ///

23 public partial class WebForm1 : System.Web.UI.Page

24 {

25 protected System.Web.UI.HtmlControls.HtmlInputFile file2;


Because my code had a declaration for file2 it clashed with the declaration that VS2005 has created. This results in a project that compiles without any problem but refuses to run!!! (The project woks fine in dynamic compilation mode)

This bug has already been reported to Microsoft as bug FDBK38831 but it is shown as "Won't Fix" because VS2005 cannot detect the error. It would be better if the error message was a little clearer!

If you have this problem make sure you do not declare any variables with the same name as any of your controls.

Monday, February 06, 2006

Upgrade Asp.net app to V2.0

I upgraded an asp.net V1.1 app to V2.0 and VS2005 automatically converted my global.aspx.cs file so all the code is located in the App_Code folder. In order to use any of the static functions in the global class it is necessary to add "using Your_Global_Namespace;" to any class that uses any of the global functions.

This is required because any new web page generated by VS2005 does not seem to place the page class inside your global namespace. Something to do with partial classes?

VS2003 code generated for a new web page
namespace ARJ
{
public partial class BlahBlah : System.Web.UI.Page
{
}
}

VS2005 code generated for a new web page
public partial class BlahBlah : System.Web.UI.Page
{
}

you therefore need to add

using ARJ;

to any VS2005 web page that uses the any of the global functions.

Thursday, February 02, 2006

C# How to load an icon from an embedded resource

This is how to load an Icon from an embedded resource and then use it to change a task bar notification icon.

Firstly embed the icons as a resource. Don't forget to change the Build Action of each icon to "Embedded Resource"

Declare these variables

private System.Drawing.Icon icnNormal;
private System.Drawing.Icon icnAlert;

Put this in your Form_Load() method

System.IO.Stream st;
System.Reflection.Assembly a = System.Reflection.Assembly.GetExecutingAssembly ();
st = a.GetManifestResourceStream ("{{{YourAppName}}}.Resources.App.ico");
icnNormal = new System.Drawing.Icon (st);
st = a.GetManifestResourceStream ("{{{YourAppName}}}.Resources.arrow-up_32.ico");
icnAlert = new System.Drawing.Icon (st);

Replace {{{YourAppName}}} with the name of your application

To use the icon

notifyIcon1.Icon = icnAlert;

Tuesday, January 31, 2006

IE7 Beta 2

I've just upgraded to Internet Explorer 7.0.5296 Beta 2 and I find the Blogger HTML text editor does not work! When will it be fixed?

IPSec tunnel from Vigor 2900 to ZyXEL ZyWall 35

Today I connected some Vigor 2900's to a ZyXEL 35 using an IPSEC tunnel. The Zyxel settings are unchanged from my blog of 29/01/2006.

Firstly a version check of the kit I'm using:
ZyWALL 35 : V4.00(WZ.5) 01/06/2006
Vigor 2900 : 2.5.6

I've screen dumped the configuration pages below. The network IP address of the ZyWALL network is 192.65.100.0/255.255.255.0. The network address of the Vigor 2900 network is 192.168.65.0/255.255.255.0.

Vigor 2900 Settings


Advanced Setup->VPN and Remote Access Setup->LAN to LAN Profile Setup
See Larger Image

From this screen "Advanced" button


"IKE Pre-Shared Key" button

Monday, January 30, 2006

ZyXEL ZyWALL 35 Client VPN IPSEC Dial In

The ZyWALL 35 does not seem to support dial in IPSEC Windows XP clients. It seems you have to buy the ZyXEL client software if you want to do this. :-(

Sunday, January 29, 2006

Free - www.BookMyProperty.com

If you have a holiday home you probably have trouble working out which family members are planning to use it. Have a look at this web site that I wrote (www.BookMyProperty.com). It allows you to create an on-line booking system to automate the process. It's free! Let me know what you think.

IPSec tunnel from Vigor 2600G to ZyXEL ZyWall 35



I recently installed some ZyWALL 35 boxes because they support dual ADSL connections. Here are the settings I used to create an IPSec tunnel from a Vigor 2600G to a ZyXEL ZyWALL 35. Setting up IPSec tunnels between equipment from different manufacturers is always a hassle. Because the ZyWALL has two ADSL connections you have to make sure the data goes out on the right port of the ZyXEL. Unfortunately the ZyWALL does not (yet) support resilient IPSec tunnels.

Firstly a version check of the kit I'm using:

ZyWALL 35 : V4.00(WZ.5) 01/06/2006
Vigor 2600 : 2.5.7_UK

I've screen dumped the configuration pages below. The network IP address of the ZyWALL network is 192.65.100.0/255.255.255.0. The network address of the Vigor 2600 network is 192.168.65.0/255.255.255.0.

Vigor 2600 Settings

Advanced Setup->VPN and Remote Access Setup->LAN to LAN Profile Setup
See Larger Image

From this screen "Advance" [sic] button


"IKE Pre-Shared Key" button



ZyWALL 35
Security->VPN


Click on the edit button for "Andrew Home"

On this screen it's important to enter the IP address of the port that should be used for making a connection to the remote network.

Clicking on the edit button for AJ1 policy


I hope you can read these screen dumps - I'm not sure if Blogger is resizing them.

Free Download - SMTP List

Check out my web site where you can download a program that will list all the SMTP email addresses associated with each Exchange mailbox. The program also shows the email addresses of any email enabled groups.

I wrote this program to help the process of outsourcing Exchange to a third party (Cobweb - http://www.cobweb.co.uk/). This server hosts about 30 domains and most people have 10-20 SMTP email addresses associated with each mailbox. It would be nice if there was a counter that showed how many emails have been received for each address. I'm sure people only receive on one or two addresses but working out the important ones is tricky.

Why does Outlook support just one Exchange account. We have many users who work for several companies and need to access several Exchange accounts in the same instance of outlook. Microsoft - please fix in Office 12!

see www.alquist.co.uk

Compaq R6000 RS232 Serial Lead

This is the pinout of the RS232 serial cable needed to connect a Compaq R6000 UPS to a PC. I could not find this anywhere else on the internet so I have documented it here. This lead is also known by the following HP part numbers:-

295245-004
340912-B21
122922-001