Upgrading access 2003 apps deployed with package wizard

S

Steve Randall

I am at my wits' end here, trying to make sense of the Access 2003 package
wizard.

Does the package it creates not support upgrading of a product in the field?
In my testing, I always get a message "Another version of this product is
already installed." etc. Which is true, but it seems to me it should not be
necessary to uninstall the previous version in order to upgrade it. And in
fact I can (apparently) successfully apply the update if I call msiexec
directly and pass it the proper command line. But I want this to work with
autorun, or by double-clicking setup.exe. Is there something I can put in
setup.ini? Or the msi file itself?

Or am I simply missing something very fundamental here? Any help would be
appreciated.
 
D

Douglas J. Steele

If your application is already installed, all you need to do is copy the new
copy of the front-end MDB or MDE. No packaging should be required.
 
S

Steve Randall

Douglas J. Steele said:
If your application is already installed, all you need to do is copy the
new copy of the front-end MDB or MDE. No packaging should be required.

But I want my users to be able to insert a new CD and update the product
with no muss and no fuss... just like they've been doing all these years
with the Access 2.0 version. And preferably with the same CD that new users
can use for the initial install.

I guess if all else fails, I'll write my own setup program to drive msiexec.
I had hoped to avoid that. Thanks for your input, though. It seems to
confirm my worst suspicions.
 
A

Albert D. Kallal

I never spent the time, but presubnlby, you can change the Product code

(on page 5 of 7 in the wizard). Simply delete the upgrade code, and then tab
out of the field..and then tab back in...(you get a new code).

This will allow you to install "again" on the target machine. However, if
you don't first delete the target mde file, then it will NOT copy over. The
lack of ability to copy "over" an existing mde file makes the wizard useless
for upgrades. You would have to have users first un-install existing.

However, I would not actually attached, or package the mde your distribution
with the runtime anyway.

I would create two separates installs.

My first install would simply install he runtime ONLY. (use package wizard).

Then, for additional installs, I would simply then send the customer a
zipped mde. They are REALLY small. However, since the customer can't know
where to pt the mde, then I would use a free installer (I use inno).

You could use the package wizard as mentioned, as thus your 2nd install
would be separate, and you could thus un-install the original.

So, split the install into two parts. It makes ZERO sense to send a customer
a 34 meg for a upgrade WHEN YOU KNOW they already have the runtime
installed.

Further, if you use a free tool like inno, then you can create a single .exe
file for the install (as opposed to a folder like the package wizard).

By having a simple single file for upgrading, then you can email this file,
or even just place it on your web space as a link, and they can upgrade that
way. In fact, if you have a web link, then it is about 2 lines of access
code to upgrade.

I actually grabbed the ftp code from www.mvp.org/access, and created a
button:

Here is some screen shots of how my customers upgrade their ms-access to the
latest version:

http://www.kallal.ca/ridestutorialp/upgrade.html

And, a zipped mde file is going to be like maybe a 1 meg, or 2....about
10-20 seconds download on a internet tops.

Further, since you MUST be running a split database, then you already have a
environment in which separate pieces need be installed. (you are running a
split environment..right?? -- else how could you be upgrading the users in
the field???).

So, you need to sepeate the two parts. The ms-access isntaller has upgrade
and product code settings in the wizard, but you can't really use these
features becuase you can NOT over write existing mdb/mde files on your
comptuer.

So, I would *just* use the package wizard to install the runtime. after
htat, use the free inno installer here to instll your front end (or program
part).

And, the nice part to boot is if the customer already has ms-access, then
your install is going to be tiny..and they don't have to bother with the
runtime.

Inno is free, and can be found here:

http://www.jrsoftware.org/isinfo.php

here is simple sample inno script:

[Setup]
SourceDir=c:\Documents and Settings\All Users\Application Data\RidesL
AppName=Rides Reservation System
AppVerName= Rides 2.0
DefaultDirName={commonappdata}\RidesL
DefaultGroupName=Rides
Compression=lzma
SolidCompression=yes

DirExistsWarning=no
DisableDirPage=yes
DisableProgramGroupPage=yes
Uninstallable=no


[Files]
Source: "RidesXP.mde"; DestDir: "{app}"

[Icons]

Name: "{group}\Rides (Stampede Reservations)"; Filename:
"{app}\RidesXP.mde"; IconFilename: "{app}\cowboy.ico"; comment: "Starts the
Rides Booking System"

Name: "{userdesktop}\Rides (Stampede Reservations)"; FileName: "C:\Program
Files\Microsoft Office\OFFICE11\MSACCESS.EXE"; IconFilename:
"{app}\cowboy.ico"; comment: "Starts the Rides Booking System"

[Registry]
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Jet\4.0\Engines"; ValueType: dword;
ValueName: "SandBoxMode"; ValueData: "2"

Root: HKLM;Subkey:
"Software\Microsoft\Office\11.0\Access\Security";ValueType: dword;
ValueName: "Level"; ValueData: "1"


Note how I have to two reg keys to elimonate hte marcor nag prompts.
 
S

Steve Randall

Albert D. Kallal said:
I never spent the time, but presubnlby, you can change the Product code

That would make the upgrade "major" in msi terms. I think I tried that, but
it didn't help, and also it should not be necessary. All my upgrades should
qualify as "minor."
(on page 5 of 7 in the wizard). Simply delete the upgrade code, and then
tab out of the field..and then tab back in...(you get a new code).

This will allow you to install "again" on the target machine. However, if
you don't first delete the target mde file, then it will NOT copy over.
The lack of ability to copy "over" an existing mde file makes the wizard
useless for upgrades. You would have to have users first un-install
existing.

You say the wizard is useless for upgrades? Thanks for the confirmation. :)
However, I would not actually attached, or package the mde your
distribution with the runtime anyway.

I would create two separates installs.

My first install would simply install he runtime ONLY. (use package
wizard).

Actually, the documentation was sufficient that I could figure out how to do
a chained install. So I do in fact have a support package that contains the
runtime (and also a spell checker, and could someday have other things).
Then, for additional installs, I would simply then send the customer a
zipped mde. They are REALLY small. However, since the customer can't know
where to pt the mde, then I would use a free installer (I use inno).

I thought about inno, even though it doesn't support msi. Frankly I'm not
that excited about msi myself, but it looks like the wave of the future.
Maybe I should look at inno again, though.
You could use the package wizard as mentioned, as thus your 2nd install
would be separate, and you could thus un-install the original.

So, split the install into two parts. It makes ZERO sense to send a
customer a 34 meg for a upgrade WHEN YOU KNOW they already have the
runtime installed.

It costs nothing, because we distribute only on CD-ROM. But splitting is a
good idea anyway.
Further, if you use a free tool like inno, then you can create a single
.exe file for the install (as opposed to a folder like the package
wizard).

Again, since this is CD-ROM only, a folder that looks like a CD root
directory is ideal.
By having a simple single file for upgrading, then you can email this
file, or even just place it on your web space as a link, and they can
upgrade that way. In fact, if you have a web link, then it is about 2
lines of access code to upgrade.

I actually grabbed the ftp code from www.mvp.org/access, and created a
button:

Here is some screen shots of how my customers upgrade their ms-access to
the latest version:

http://www.kallal.ca/ridestutorialp/upgrade.html

And, a zipped mde file is going to be like maybe a 1 meg, or 2....about
10-20 seconds download on a internet tops.

Further, since you MUST be running a split database, then you already have
a environment in which separate pieces need be installed. (you are running
a split environment..right?? -- else how could you be upgrading the users
in the field???).

How, indeed? Yes, the data has always been separate. The old access setup
wizard had an option to avoid overwriting existing files, but I never
trusted it (or myself). So I had separate install vs. update packages, the
latter not including the data files.

Because I wasn't sure how the new installer would work, I decided this time
that it would be best for the program to create its database from scratch.
It's just a special case of updating, which I have to do anyway. So I do not
distribute data files at all. That should allow me to have a single package
that can be used equally well for both install and upgrade. If only it would
work!
So, you need to sepeate the two parts. The ms-access isntaller has upgrade
and product code settings in the wizard, but you can't really use these
features becuase you can NOT over write existing mdb/mde files on your
comptuer.

Not a problem that could arise, as I explained, but it does suggest why the
wizard is deliberately designed NOT to support upgrades.

Well, thanks, you've given me plenty to think about. I'll have to mull over
my options.
 
A

Albert D. Kallal

Steve Randall said:
You say the wizard is useless for upgrades? Thanks for the confirmation.
:)

You *can* download the orca tools and modify the install after the PW
creates the msi.

Remember, the ONLY issue here is that you might either:

a) manually delete the current mde
or
b) un-install existing mde

and then install using the PW...

So, you *can* use the PW..but, really, if you have to bother with a), or b)
above then that just shows how lame the PW is for updating...

c)
The ORCA tools will let you edit and modify the resulting MSI however, so it
is possible to change the overwrite status.......

Since you only really copying a simple file to the target computer, then
several easy options do exist.

As mentioned, the free inno, or even register copy of www.winzip.com can
pack up the file and extract to a given folder for you .....
 
S

Steve Randall

Albert D. Kallal said:
You *can* download the orca tools and modify the install after the PW
creates the msi.

The problem is not the msi, though conceivably there could be a workaround
there. But I give up.
As mentioned, the free inno, or even register copy of www.winzip.com can
pack up the file and extract to a given folder for you .....

I've spent a couple of hours with inno, and it will definitely do the job
for me. Thanks again for the push.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top