IanB
Posts: 14
Joined: Tue Jul 17, 2018 3:59 pm

Files/Folder & Upgrades

Mon Apr 19, 2021 5:50 pm

I'm currently evaluating this product, only just started really so not very knowledgeable yet.

I have two questions which are currently stumping me.

1. Files/Folders.
I imported an old vb6 project. When I look in this section under “Application Folder” I see all the VB libraries (such as Comdlg32.ocx, mscomctl.ocx etc.). Previous installs I have done with Installshield place and register these in the Windows/syswow64 folder. Why does Advanced Installer put them in the application folder?

2. Upgrades.
I want to remove older versions, including those created by Installshield, so I changed the Upgrade Code on the Product ID’s tab to that used in Installshield. When I come to the “Upgrades” section I assume this allows me to list any/all previously used upgrade codes and they can all be removed which is great (even though I don’t need it!). However, when I press F1 on that page it says “This section allows you to manage older versions...which were created with Advanced Installer” and that has confused me. Is it saying it can ONLY handle previous Advanced Installer packages or will it include any package using that Upgrade Code and meeting the min/max version criteria?

Thanks
Ian

Catalin
Posts: 4324
Joined: Wed Jun 13, 2018 7:49 am

Re: Files/Folder & Upgrades

Mon Apr 26, 2021 4:15 pm

Hell Ian,

Please allow me to address your questions below:
1. Files/Folders.
I imported an old vb6 project. When I look in this section under “Application Folder” I see all the VB libraries (such as Comdlg32.ocx, mscomctl.ocx etc.). Previous installs I have done with Installshield place and register these in the Windows/syswow64 folder. Why does Advanced Installer put them in the application folder?
The "Application Folder" is a folder proprietary to Advanced Installer and it represents the default install location for your files. Its' value can be seen in the "Install Parameters" page and can depend on the installation type. For instance, the default installation type for a per-machine location would be:
[ProgramFilesFolder][Manufacturer]\[ProductName]
According to the "Paths of the folders in the "Files and Folders" Page" article, the above path may be:

ProgramFilesFolder property may resolve at install time to:

a) C:\Program Files --> if the setup is a 64-bit setup installed on a 64-bit machine

b) C:\Program Files (x86) --> if the setup is a 32-bit setup installed on a 64-bit machine

Manufacturer property resolves at install time to:

- "Product Details" page --> "Publisher"

ProductName property resolves at install time to:

- "Product Details" page --> "Name"

This basically represents the install location (where your files are copied).

Now, I can see that you have specifically mentioned the VB Libraries.
Previous installs I have done with Installshield place and register these in the Windows/syswow64 folder. Why does Advanced Installer put them in the application folder?
The key word here would be "register". As you have mentioned, the files may be registered in the Windows/syswow64 folder, however they must be present on the user machine in order to be registered.

If you want to register your files, please have a look over the "Registration Tab" article.
2. Upgrades.
I want to remove older versions, including those created by Installshield, so I changed the Upgrade Code on the Product ID’s tab to that used in Installshield. When I come to the “Upgrades” section I assume this allows me to list any/all previously used upgrade codes and they can all be removed which is great (even though I don’t need it!). However, when I press F1 on that page it says “This section allows you to manage older versions...which were created with Advanced Installer” and that has confused me. Is it saying it can ONLY handle previous Advanced Installer packages or will it include any package using that Upgrade Code and meeting the min/max version criteria?
If you want to remove an older version, regardless the software you have used to create the package, there are few things to be considered:

- the two setups must have the same UpgradeCode ("Product Details" page --> "Product IDs" tab).
The UpgradeCode is a GUID representing a related set of products. A set of different versions of your application will have the same UpgradeCode. This enables newer versions of your application to search and upgrade previous versions installed on the same computer.
- the two setups must have different ProductCode.
The ProductCode property is a unique GUID used to identify your application. This identifier varies from version to version of the same installer.

Two products with the same ProductCode can not be installed on the same computer. Windows Installer will prevent this with an error reading:

Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Programs and Features in the Control Panel.
- the "upgraded" version must have a higher version (e.g. if 1.0.0 is installed, the second version could be 1.0.1, 1.0.2, 1.1.0, etc.)

More information about this in our "Product Identification (ProductCode and UpgradeCode)" article.

This is the default behavior of the Windows Installer technology.

Hope things are more clear now!

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Building Installers”