Outlook VBAProject.otm reverted to prior version

  • Thread starter Thread starter Steve Kiwi
  • Start date Start date
S

Steve Kiwi

A few months ago I wrote an Outlook VBA application and distributed it (as
forms) to about 30 users. Since then I've been updating the app, and sending
out new sets of forms for users to update with. We're currently in the pilot
phase before launching to a wider audience in the company. All users are on
Outlook 2003.

About two weeks ago I sent out version 1.4, which everyone updated to. In
1.4 I included some code that would store their version on the server each
time they logged in, so I know which users updated to 1.4 and when.

At the end of last week a user called me with a problem, that some of the
changes in 1.4 weren't working any more. After asking her some questions, I
realized she was back to 1.3. Checking the logs, she had updated to 1.4 over
a week earlier, and used the program several times since then. Last Thursday
she somehow reverted to 1.3. I asked her if she had any computer problems or
Outlook problems in that time, and she said no (if it were most of my users
I'd take that with a grain of salt, but this particular user does know what
she's doing).

I had her look at a few things and determined that all the forms (there are
five in the application) had reverted to 1.3. We then looked at her
VBAProject.otm file, and it was dated early October, which was the time I
released 1.3. Somehow, her otm file had jumped back in time a month.

Over the course of that day, I had four or five other users report exactly
the same thing, and the server logs showed that they had all updated to 1.4,
then reverted to 1.3.

After much googling, I have no explanation for how this happened. It appears
that some external event caused it, but I don't know what. My thought was
that somehow my company had pushed out an update of some kind which could
have caused this, but a) I checked and they said no (although this being a
company of about 200,000 employees, it's possible that someone did something
that someone else didn't know about), b) this only happened to 5 out of 30
users, with no similarities between them (various workgroups in various
countries were affected, and not all of a single group anywhere), and c) I
can't imagine any update that would cause VBAProject.otm to revert a month -
if it had been erased completely, I might expect that to happen, but not just
to step back one version.

Has anyone heard of this happening before, or have any reason why it might
have happened? I am stumped, and the people in charge of the project are
naturally concerned about finding out why before we launch the program to a
wider audience. Any help answering this would be much appreciated.

Thanks,
Steve
 
Does your network use roaming profiles, ie does the user log into various
machines but still see their normal desktop? The otm file is included in the
profile, and if she had logged into a machine which contained the 1.3 otm
file, it is possible that the older file overwrite the newer one. Roaming
profiles can be a little problematic to say the least.
 
Good thought, but no roaming profiles. Every user has their own laptop which
they take with them everywhere. Thus they carry their otm file with them all
the time.
 
You're probably too far along for this advice, but deploying the Outlook VBA
project as a means of deploying code is not supported and to borrow an MS
phrase "is not particularly robust". The recommended approach to code
deployment is to use a COM addin.
 
Yep, I know that now! When I began I was given a form someone else had
started, and just continued developing from there. As time has gone on, it's
become harder and harder to manage, and for users to install or update.
Today I am starting the process of converting it to a COM add-in, which will
hopefully not be too much more than copying and pasting the code I already
have.

Thanks for the advice,
Steve
 
Steve-
I am very interested in what you wrote in your first post about the code
that you wrote that advises you of what version a user is using. I have a
very similar situation and that code might be of very big use to me. I would
like to speak to you about your code.
 
All I have is a textbox in the corner of the form containing the version
number, which I update each time I release a new version. When the user logs
in, I pass the contents of the textbox along with their username/password to
SQL Server. In the stored procedure I simply write that value to the users
table, which tells me the version the last time they ran the program. I also
have a line checking if their version is old, and if it is I use RAISERROR to
return back to them an error message saying they need to upgrade before they
can continue using the program.

Let me know if you have further questions,
Steve
 
Back
Top