Alpicus
Posts: 108
Joined: Sat Feb 16, 2008 5:29 pm
Location: Switzerland
Contact: Website

Concepts for multi-customers and upgrade ?

Hi Support and all users !

I plan to buy the product but before I have 2 questions about concepts :

1. In our company, we have some executables (exes and dlls) and CR reports common to our customers but we have also some dlls and reports specific to each customer. How to manage this as I have to create one specific setup for each customer contaning the common + specific files ? Do I have to create a project for each customer or is there an easier way to deal with this situation ?

2. In the same situation, we make quite a lot of upgrades/updates during the year for each customer. What is the best procedure for the upgrade/update ? I've seen that in AI it's quite easy to manage the setup but I'm wondering how to face the following situation when upgrade/update is ready to deploy to the customers' workstations because we have to upgrade/update also the database server : the customers' workstations are notified that a new upgrade/update is available then :
1. How to deal to upgrade/update only once the database server ?
2. Only the administrator of the customer site can update/upgrade the db server with the same setup as the other workstations ?

How AI users resolve these issues ?

TIA for your future advices !

Phil
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Hi,

Thank you for your interest in Advanced Installer.
How to manage this as I have to create one specific setup for each customer contaning the common + specific files ? Do I have to create a project for each customer or is there an easier way to deal with this situation ?
This can be done by using the multiple builds feature in your project:
- go to the Media page and create a new build which will correspond to a client
- in the "Organization" page you make sure that the common features are included in all builds and the specific features are included only the build for the client
- build only the client package (next to the "Build" button there is an arrow which shows a menu which allows you to choose the build)
- for a new client you create a new build and make sure that the features are organized properly.
What is the best procedure for the upgrade/update ?
For upgrading an installation you have two possibilities:
1) you use a patch
2) you use the automated upgrade feature

1) A patch project is basically the difference between two MSI packages (which makes it very small) and you can use it to update an installation. You can read more about patches here:
http://www.advancedinstaller.com/user-g ... oject.html
http://www.advancedinstaller.com/user-g ... tches.html
http://www.advancedinstaller.com/user-g ... patch.html

2) The automated upgrade feature works like this:
- you install a MSI on the target machine,
- you increase it's version and update some of it's files
- you answer "Yes" when prompted about changing the Product Code
- when running the updated MSI on the target machine the old installation will be removed and the updated package will be installed

Usually, it is recommended that you use a patch to upgrade an installation, but you can use the method that best suits your needs.

Please note that both methods can be used by the Auto Updater feature. You can read more about this feature here:
http://www.advancedinstaller.com/user-g ... dater.html
http://www.advancedinstaller.com/user-g ... dater.html
http://www.advancedinstaller.com/user-g ... oject.html
1. How to deal to upgrade/update only once the database server ?
I'm not sure I understand what you mean. Can you please give me more details about this? What do you mean by "only once"?

Note that the database server will be upgraded only if you configure the Update to upgrade it.
2. Only the administrator of the customer site can update/upgrade the db server with the same setup as the other workstations ?
Note that this depends completely on the database server (if the process of upgrading the database server requires administrator privileges or not). For example, if trusted connections are used, the upgrade will require administrator privileges.

In order to determine if administrator privileges are required, you should consult the creator of the database server on the target machine.

Also, I'm not sure if you can use the same update package to upgrade the database server. If the update contains specific resources and settings for each client, then the you need a different update package for each client.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Alpicus
Posts: 108
Joined: Sat Feb 16, 2008 5:29 pm
Location: Switzerland
Contact: Website

Thanks for the answers,

Regarding the upgrade/update/patch procedure, I completely understand.

By "only once", I mean this : let's have an example :
In my customer site, there are 2 workstations and 1 database server.

One of the user is the administrator. When he starts to install the upgrade with AI setup :
1. How to manage the fact that the other user can be in a session using the DB server ?
2. Is it possible to use the same setup to upgrade the workstation and the db server ?
3. Once the administrator has finished to upgrade his WS and DB server, how to forbidden to upgrade the DB server from the 2nd Workstation ? Can we manage this from the setup ?

Thanks for the future ones !

Phil


cosmin wrote:Hi,

Thank you for your interest in Advanced Installer.
How to manage this as I have to create one specific setup for each customer contaning the common + specific files ? Do I have to create a project for each customer or is there an easier way to deal with this situation ?
This can be done by using the multiple builds feature in your project:
- go to the Media page and create a new build which will correspond to a client
- in the "Organization" page you make sure that the common features are included in all builds and the specific features are included only the build for the client
- build only the client package (next to the "Build" button there is an arrow which shows a menu which allows you to choose the build)
- for a new client you create a new build and make sure that the features are organized properly.
What is the best procedure for the upgrade/update ?
For upgrading an installation you have two possibilities:
1) you use a patch
2) you use the automated upgrade feature

1) A patch project is basically the difference between two MSI packages (which makes it very small) and you can use it to update an installation. You can read more about patches here:
http://www.advancedinstaller.com/user-g ... oject.html
http://www.advancedinstaller.com/user-g ... tches.html
http://www.advancedinstaller.com/user-g ... patch.html

2) The automated upgrade feature works like this:
- you install a MSI on the target machine,
- you increase it's version and update some of it's files
- you answer "Yes" when prompted about changing the Product Code
- when running the updated MSI on the target machine the old installation will be removed and the updated package will be installed

Usually, it is recommended that you use a patch to upgrade an installation, but you can use the method that best suits your needs.

Please note that both methods can be used by the Auto Updater feature. You can read more about this feature here:
http://www.advancedinstaller.com/user-g ... dater.html
http://www.advancedinstaller.com/user-g ... dater.html
http://www.advancedinstaller.com/user-g ... oject.html
1. How to deal to upgrade/update only once the database server ?
I'm not sure I understand what you mean. Can you please give me more details about this? What do you mean by "only once"?

Note that the database server will be upgraded only if you configure the Update to upgrade it.
2. Only the administrator of the customer site can update/upgrade the db server with the same setup as the other workstations ?
Note that this depends completely on the database server (if the process of upgrading the database server requires administrator privileges or not). For example, if trusted connections are used, the upgrade will require administrator privileges.

In order to determine if administrator privileges are required, you should consult the creator of the database server on the target machine.

Also, I'm not sure if you can use the same update package to upgrade the database server. If the update contains specific resources and settings for each client, then the you need a different update package for each client.

Regards,
Cosmin
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Hi,
1. How to manage the fact that the other user can be in a session using the DB server ?
Please note that this is handled by the database server and it is not related to Windows Installer. Usually there should be no problem when upgrading the database server while it performs other operations.
2. Is it possible to use the same setup to upgrade the workstation and the db server ?
Yes, this is possible if the workstation which performs the update has enough privileges to configure the database server. Also, the server must allow a remote configuration performed by an user on a workstation.

Please note that Advanced Installer offers support for updating a database through the "SQL Scripts" page:
http://www.advancedinstaller.com/user-g ... l-sql.html
http://www.advancedinstaller.com/user-guide/sql.html

You can update the database by using SQL Scripts or custom actions.
3. Once the administrator has finished to upgrade his WS and DB server, how to forbidden to upgrade the DB server from the 2nd Workstation ? Can we manage this from the setup ?
This can be done by writing custom information into the database (for example the installed version of your application). When running an update, you can perform a query to retrieve the installed version and see if the update should be installed or not.

The result of that query (usually stored into a property) can be used to condition the SQL Scripts or custom actions which update the database.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Alpicus
Posts: 108
Joined: Sat Feb 16, 2008 5:29 pm
Location: Switzerland
Contact: Website

Thanks for all the answers !

Phil
Alpicus
Posts: 108
Joined: Sat Feb 16, 2008 5:29 pm
Location: Switzerland
Contact: Website

cosmin wrote:Hi,

Thank you for your interest in Advanced Installer.
How to manage this as I have to create one specific setup for each customer contaning the common + specific files ? Do I have to create a project for each customer or is there an easier way to deal with this situation ?
This can be done by using the multiple builds feature in your project:
- go to the Media page and create a new build which will correspond to a client
- in the "Organization" page you make sure that the common features are included in all builds and the specific features are included only the build for the client
- build only the client package (next to the "Build" button there is an arrow which shows a menu which allows you to choose the build)
- for a new client you create a new build and make sure that the features are organized properly.

Regards,
Cosmin
Hi,

I tried the procedure you wrote upon and I'm facing another problem :

I created a new build for each customer then in Organisation, I created a feature per customer BUT my customers have some files with the same name but contain different functions. It's seems not possible to add another file (example : mydll.dll) which has the same name depending on the feature/build.... Any solutions ?

Thanks,

Phil
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Hi,

For the duplicate files which contains different functions you can create a subfolder of the folder which contains the files. This subfolder will have the "Install folder content into the parent folder" option in the "Edit Folder" dialog:
http://www.advancedinstaller.com/user-g ... ialog.html

Since the files are included in different builds, only one file will be created (the one in the subfolder or the one in the main folder). If you have multiple versions of these files, you can create a subfolder for each build.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Alpicus
Posts: 108
Joined: Sat Feb 16, 2008 5:29 pm
Location: Switzerland
Contact: Website

Thanks Cosmin !

It works !

Return to “Common Problems”