Category: OS


Since moving to Windows 7 ultimate I have had occasional instances where some of my applications get flagged up as “Not Responding”.  I have also been asked about this several times over the last few weeks and a formal support request this morning prompted a discussion internally.  As a reminder to myself and for future reference, I thought that I’d write this blog posting.

If the offending application then tries running a long process (one that will run for more than 5 seconds, I believe), Windows 7 gets excited and reports the application as ‘not responding’.  This notification is normally through a discreet note at the top of the window and sometimes a more noticeable message asking whether to close the application or wait.

Fortunately, my OpenInsight 9.2.1 runs very quickly on my Windows 7 laptop and I don’t run into the issue too much.  However, if you (or your clients) are seeing this with your OpenInsight applications please keep the following in mind:

  1. The issue appears to be down to a process that is running (looping) for more than 5 seconds and Microsoft picks this up and flags it as a possible ‘non responding’ program and informs the user accordingly.  Despite the warnings, the process continues and the application usually gets flagged as responding again once the process has finished.  However, if you get the message popup on your screen and you click cancel, Windows 7 will try to terminate the application and this ‘could’ cause data loss or other nastiness.
  2. To manage your user’s expectations, simply make sure they are aware of this Windows 7 behavior and advise them to leave the application to run for a short while.
  3. Make sure that you are using one of the later versions of OpenInsight and the latest Universal Driver.  If configured correctly, this should ensure that your OpenInsight application is running as optimally as possible.  If in doubt, give me a call and book a health check wit hone of the developers.
  4. Most importantly, make sure that you code to address this Windows feature.  In OpenInsight, this can be as simple and easy as using a YIELD( ) within your programs that are likely to take any length of time (more than a few seconds).

Yield ( ) checks for pending events in the Windows event queue and executes them.  It then returns control as soon as the event queue is empty.  All pending events will be executed, including OpenInsight and Windows events.  It is therefore good practice to handle process dependent conditions (such as a CLOSE event0 after a Yield( ) call.

Example syntax for Yield ( ) is:

done = FALSE$
 Loop
 ReadNext ID Else done = TRUE$
 Until done
 * Allow for an event, such as CLICK
 Yield()
 * Process ID record
 Repeat

Legacy Applications
It is usually best to address this issue within your OpenInsight application and thereby maintain control.  However, for legacy systems there is another (which I would consider a last resort) option which makes use of Microsoft’s Application Compatibility Toolkit.  You can get further details about that by clicking here.

We recently had a support enquiry because the OInsight.ini file (located under C:\Windows) was not being picked up and the developer was therefore unable to change the Application Manager buttons to display the System Editor ++, rather than the old System Editor.

I’d always understood that the OInsight.ini file that OpenInsight used for these settings and others, was the one in the Windows directory. However, from Windows Vista and Windows 7, things are no longer that simple.

As Carl enlightened me, Vista and Windows 7 implement something called virtual file redirection, which means that the ini file the OpenInsight uses is not the one in C:\Windows – when it asks for the file Windows goes and gets it from the Virtual Store instead. It is Microsoft’s way of trying to stop people using ini files – they don’t like you using the registry these days either!!

Anyway, the *real* ini file that Windows gives to OpenInsight is stored in your user settings folder something like:

C:\Users\[UserName]\AppData\Local\VirtualStore\Windows\oinsight.ini

If you change that ini file, then everything should be fine and OpenInsight will display the right buttons and your other preferences/settings.

For the more technical and those who want to understand all of this in more detail, the following link will be useful:

http://windowsteamblog.com/windows/b/developers/archive/2009/08/04/user-account-control-data-redirection.aspx

>Support for Vista

>Just in case anyone is sleeping, Microsoft have finally dropped support for the Vista operating systems, support for XP continues for a short time.

>

The Register has published a very interesting announcement about the support for the Vista operating system. I think that it is worth everyone knowing about this, especially VARs installing and supporting systems on pre-Windows 7 operating systems.

In order to run OpenInsight version 9.x on 64-bit versions of Windows, some additional configuration of the default OpenInsight needs to be addressed.  These changes should be made only following a successful installation of OpenInsight.  The guidelines assume that you have a fresh installation of 64-bit Windows (not one of the Home editions) and also a fresh installation of OpenInsight version 9.0 or later. Depending on your chosen User Account Control settings in Windows, these may not all apply to you.

  • 32-Bit Java Runtime
    O4W and CTO both require a Java run time to run.  For compatibility reasons, you should download and install the latest 32-bit which is available from JRE (Java Runtime Environment).
  • Alternative Registry Location
    As well as the operating system’s usual 64-bit registry entries, 64-bit Windows also maintains a separate list of 32-bit registry keys for the purposes of maintaining compatibility with 32-bit applications.  As far as OpenInsight is concerned, these 32-bit registry settings are maintained under the ‘HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\RevSoft’ registry branch and all registry changes for OpenInsight should be completed under this branch.The registry settings for SYSPROG are:
      [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\RevSoft\OECGI2]
    “UserName”=”SYSPROG”
    “UserPassword”=”SYSPROG”
    “ApplicationName”=”SYSPROG”
    “ServerURL”=”localhost”
    “ServerPort”=”8088″
    “ProcedureName”=”RUN_OECGI_REQUEST”
    “EngineName”=”"


    The registry is not an area that should be played with lightly and for this reason Revelation have created an updated registry file to assist in the configuration of OECGI2.  The file can be downloaded from the main Revelation web site at http://www.revelation.com/knowledge.nsf/07dbcbabb6b3e379852566f50064cf25/88e6dbc0988dec9385257566007831c5/$FILE/oecgi2%20vista64.reg. This file should be used in place of the OECGI2.reg that ships with OpenInsight 9.0.

Please also be sure to review and follow the OpenInsight 9.0 Workstation Installation Notes that now apply to the installation of OpenInsight on all versions of Windows.

>RCL4.DLL

>

I am still running into developers reporting issues with OpenInsight being left running in the task manager when OpenInsight is closed. This is mostly on Vista machines, but I thought it worthwhile to include another posting here dedicated to this issue. It will not be any surprise to you that this results in some undesirable behaviour. Revelation therefore jumped on this issue very quickly and the latest RCL4.dll file resolves that issue.

>

http://www.youtube.com/get_player

Run the video above to see the Vista Progress Bar in action.

Well it looks like Sprezzatura’s Progress Bar article is having another run globally. Carl recently gave me a copy of his test form for the bar and I am pleased to confirm that it runs just as well under Vista with the new Vista looking Progress Bars.

The article was first published in SENL volume 4, issue 4 back in March 2007. The full SENL can be found at http://www.sprezzatura.com/senl/senl440307.pdf.

>The two WebOI videos are now available for download from the video library on the RevUK web site found at http://www.revsoft.co.uk/devvideolibrary.htm

>

The Introduction to WebOI videos are now ready and published to You Tube. However, please note that owing to video time limitations set by You Tube, the two videos have been split into two, leaving four You Tube videos in all. I will also be making these available as two zipped downloads shortly.

In the meantime, you can find the videos at:

1) Introduction to WebOI – Part 1a
2) Introduction to WebOI – Part 1b
3) Introduction to WebOI – Part 2a
4) Introduction to WebOI – Part 2a

Part one is a PowerPoint presentation that looks at what WebOI is, who it is for and provides a brief architecture overview.

Part two takes a look at my IIS7 settings for Vista and then we run through converting an OpenInsight form for WebOI and to run with a commuter module.

>

As many of you will know, throughout the 9.0 beta program I have been working on a Vista machine. Following the commercial release I have continued and more recently worked through configuring IIS7 under Vista for WebOI. Whilst I would advise you to take professional advice on configuring IIS7 in a live environment, I have written up my experiences in getting WebOI running under IIS7 on my standalone Vista machine.

You can download the WebOI under Vista and IIS7 White Paper from the UK Revelation web site.

Follow

Get every new post delivered to your Inbox.

Join 67 other followers