Andrejs
Posts: 4
Joined: Wed Nov 14, 2012 4:54 pm

evaluating AI as a packaging software

Hi there,

I'm currently evaluating Advance Installer 9.6.1 application as a packaging software. I found some weird things. Don't know if it should work like this or is it some kind of bug.

1. is there any kind of MergeModules repository, or every time I need to add MM I need to specify exact MM file.
2. in case I import vendor MSI Merge Modules are not imported. ModuleSignature and MM related tables are not present in direct editor. is it feature or bug?
3. have tried to import MS Zune MSI and AI has thrown an error message: "A row with this key [C:\test\store\Zune 04.08.2345.00\Binary\wixca] was already registered in the table" and EXCEPTION_UNHANDLED error message in addition. the issue I see is vendor MSI contain two identical records in Binary table. It ok for Orca, InstEd and InstallShield, but seems to be critical for AI. is it feature or bug?
4. is there any way how I could edit transforms? not just create.

Have just began to evaluate the product, probably later will have more questions. :)
Bogdan
Posts: 2794
Joined: Tue Jul 07, 2009 7:34 am
Contact: Website

Re: evaluating AI as a packaging software

Hi and welcome to our forums,
1. is there any kind of MergeModules repository, or every time I need to add MM I need to specify exact MM file.
Advanced Installer does not bundle any merge modules but it can detect automatically from your machine Visual Studio and Advanced Installer registered modules. So you can add them using the context menu options. Otherwise you need to browse for them.
2. in case I import vendor MSI Merge Modules are not imported. ModuleSignature and MM related tables are not present in direct editor. is it feature or bug?
During an MSI import we import the tables directly, we are currently analyzing a feature that will detect if imported/reapcakged MSIs contain well known merge modules and asks you if you want to add them separately or just to import their contents directly.

I am not sure about the Table Editor references however, can you send me a download link for a package that you have tested?
3. have tried to import MS Zune MSI and AI has thrown an error message: ...
According to MSDN docs each entry from the table should be unique, so most likely Advanced Installer validates this rule when importing the package. Was the import successful if you delete the duplicate row using Orca?
4. is there any way how I could edit transforms? not just create.
Not for the current version, it is on our TODO list however.

Best regards,
Bogdan
Bogdan Mitrache - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Andrejs
Posts: 4
Joined: Wed Nov 14, 2012 4:54 pm

Re: evaluating AI as a packaging software

Bogdan wrote:During an MSI import we import the tables directly, we are currently analyzing a feature that will detect if imported/reapcakged MSIs contain well known merge modules and asks you if you want to add them separately or just to import their contents directly.

I am not sure about the Table Editor references however, can you send me a download link for a package that you have tested?
You could try with "Microsoft SQL Server 2008 R2 Native Client". Download sqlncli_amd64.msi file from http://www.microsoft.com/en-us/download ... x?id=30440
MM.JPG
MM.JPG (132.1 KiB) Viewed 24815 times
Bogdan wrote:According to MSDN docs each entry from the table should be unique, so most likely Advanced Installer validates this rule when importing the package. Was the import successful if you delete the duplicate row using Orca?
Yes, after deleting duplicated entry using Orca MSI imported successfully. Probably MS Zune is not a good application for AI testing. There is no need to create transform or edit this MSI. application should be installed using setup.exe with silent switches. God bless Microsoft and it's vendor MSIs :D
Bogdan wrote:Not for the current version, it is on our TODO list however.
Do you plan to release this feature in the nearest future or just some day?

One more notice, haven't found ScheduleReboot standard CustomAction. It could be quite useful once i need package return 3010 exit code. More info here: http://msdn.microsoft.com/en-us/library ... s.85).aspx

The other moment is Custom Action panel. Standard CA are not visible in Installation Sequence. It could be adjusted only from "InstallExecuteSequence" DirectTable. It would be nice to have additional "Show" option in CA panel. Something like "Advanced", where all install sequence will be visible Custom and Standard. It is just a proposal.

The other proposal would be to add some feature for installing/removing certificates. Quite often i need to create MSI package for driver silent installation. Everything is fine until drivers came digitally unsigned. It is not possible to install unsigned drivers silently on Windows 7. In this case I create certificate, sing with it drivers, import certificate using CustomAction to the target system and silently install drivers. Of course I could use CA, but it would be nice to have separate panel for this task.

I would say you have just fantastic number of predefined operation(Prerequisites/Launch condition/Custom Actions). Your product is really competitive with InstallShield.
Andrejs
Posts: 4
Joined: Wed Nov 14, 2012 4:54 pm

Re: evaluating AI as a packaging software

Hi there,

Here is next bunch of observations.

Merge Module related. Using InstEd have exported 3 tables: ModuleComponents.idt, ModuleDependency.idt, ModuleSignature.idt. Trying to import them into AI receive error message "A table with this name already exists or it's a Windows Installer predefined table." But there are no such tables in predefined table list. This is surely a bug. Do you plan to fix it?

Could not find where I could specify COMPANYNAME and USERNAME properties. I'm not able to add it to Direct Table either in Properties panel. AI showing error messages this property name is reserved, but why couldn't I modify it? The point is I need to create MSI packages for silent deployment and I'm not allowed to pass this properties in install command lines. These properties should be specified in package. Same situation with LIMITUI, REBOOT and ROOTDRIVE properties.
Daniel
Posts: 8276
Joined: Mon Apr 02, 2012 1:11 pm
Contact: Website

Re: evaluating AI as a packaging software

Hello,
Do you plan to release this feature in the nearest future or just some day?
I'm afraid this will not be in the nearest feature. Can you tell us if you need just a table editor feature for this or do you want a GUI feature for editing transforms?
One more notice, haven't found ScheduleReboot standard CustomAction. It could be quite useful once i need package return 3010 exit code. More info here: http://msdn.microsoft.com/en-us/library ... s.85).aspx
Unfortunately, the related action is not added by default within our predefined or standard action list. You can add the related standard action using our "Table Editor" page (i.e. you can add it in the "InstallExecuteSequence" table).
The other moment is Custom Action panel. Standard CA are not visible in Installation Sequence. It could be adjusted only from "InstallExecuteSequence" DirectTable. It would be nice to have additional "Show" option in CA panel. Something like "Advanced", where all install sequence will be visible Custom and Standard. It is just a proposal.
In order to show a standard action in the "Custom Action" page you can use the "Show Standard Action" context menu option or the [Show Standard Action] toolbar button.
The other proposal would be to add some feature for installing/removing certificates. Quite often i need to create MSI package for driver silent installation. Everything is fine until drivers came digitally unsigned. It is not possible to install unsigned drivers silently on Windows 7. In this case I create certificate, sing with it drivers, import certificate using CustomAction to the target system and silently install drivers. Of course I could use CA, but it would be nice to have separate panel for this task.
I'm afraid I don't fully understand what you mean. Can you give us more details about this (maybe exemplify)?
Merge Module related. Using InstEd have exported 3 tables: ModuleComponents.idt, ModuleDependency.idt, ModuleSignature.idt. Trying to import them into AI receive error message "A table with this name already exists or it's a Windows Installer predefined table." But there are no such tables in predefined table list. This is surely a bug. Do you plan to fix it?
It seems we don't support this. Can you please tell us why do you need to import this tables?
Could not find where I could specify COMPANYNAME and USERNAME properties. I'm not able to add it to Direct Table either in Properties panel. AI showing error messages this property name is reserved, but why couldn't I modify it? The point is I need to create MSI packages for silent deployment and I'm not allowed to pass this properties in install command lines. These properties should be specified in package. Same situation with LIMITUI, REBOOT and ROOTDRIVE properties.
In order to achieve this you can add, from "Custom Actions" page, a "Set installer property" custom action like this:
  • Property: COMPANYNAME
    Formatted: MY_COMPANY_NAME
All the best,
Daniel
Daniel Radu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Andrejs
Posts: 4
Joined: Wed Nov 14, 2012 4:54 pm

Re: evaluating AI as a packaging software

Daniel.Radu wrote:I'm afraid this will not be in the nearest feature. Can you tell us if you need just a table editor feature for this or do you want a GUI feature for editing transforms?
It is quite common task for our team. We receive vendor MSI with transform and we need to add some properties, Custom Actions, files, registry keys, System Searches etc. In case we start using direct editor for modifying transforms package modifying time will grow significantly. So yes, we need some kind of "Apply transform" button which will apply transform to imported MSI and save changes to transform instead of rebuilding an MSI.
Daniel.Radu wrote:In order to show a standard action in the "Custom Action" page you can use the "Show Standard Action" context menu option or the [Show Standard Action] toolbar button.
Found. Thanks! But than it would be nice to have "Show All" button.
Daniel.Radu wrote:I'm afraid I don't fully understand what you mean. Can you give us more details about this (maybe exemplify)?
Never mind, we could do this via Custom Actions.
Daniel.Radu wrote:It seems we don't support this. Can you please tell us why do you need to import this tables?
This is critical in any MSI import. In case vendor MSI contain any Merge Module this information will be lost after importing to AI. This could be easily checked. Download MS SQL Server 2008 Native Client MSI file from Microsoft download site and try to import it into AI and rebuild it. Compare 2 MSIs using Orca. You'll see difference in these 3 tables. As a result rebuilt MSI will contain all entries presented in MM, but these entries will not be connected MM any more. Do you have some reason why AI ignores ModuleComponents, ModuleDependency and ModuleSignature tables during import?
Daniel
Posts: 8276
Joined: Mon Apr 02, 2012 1:11 pm
Contact: Website

Re: evaluating AI as a packaging software

Hello,
Found. Thanks! But than it would be nice to have "Show All" button.
We'll consider your suggestion for adding this functionality, but since yours is the only request, implementing it has low priority. Perhaps in the future we will increase its priority, but for the moment there are not immediate plans.
This is critical in any MSI import. In case vendor MSI contain any Merge Module this information will be lost after importing to AI. This could be easily checked. Download MS SQL Server 2008 Native Client MSI file from Microsoft download site and try to import it into AI and rebuild it. Compare 2 MSIs using Orca. You'll see difference in these 3 tables. As a result rebuilt MSI will contain all entries presented in MM, but these entries will not be connected MM any more. Do you have some reason why AI ignores ModuleComponents, ModuleDependency and ModuleSignature tables during import?
This seems to be an Advanced Installer limitation. An improvement will be added in a future version of Advanced Installer. Thank you for bringing it to our attention.

All the best,
Daniel
Daniel Radu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Daniel
Posts: 8276
Joined: Mon Apr 02, 2012 1:11 pm
Contact: Website

Re: evaluating AI as a packaging software

Hello,
This is critical in any MSI import. In case vendor MSI contain any Merge Module this information will be lost after importing to AI. This could be easily checked. Download MS SQL Server 2008 Native Client MSI file from Microsoft download site and try to import it into AI and rebuild it. Compare 2 MSIs using Orca. You'll see difference in these 3 tables. As a result rebuilt MSI will contain all entries presented in MM, but these entries will not be connected MM any more. Do you have some reason why AI ignores ModuleComponents, ModuleDependency and ModuleSignature tables during import?
This seems to be an Advanced Installer limitation. An improvement will be added in a future version of Advanced Installer. Thank you for bringing it to our attention.
This improvement was added in version 10.7 of Advanced Installer released on November 11, 2013.
4. is there any way how I could edit transforms? not just create.
Not for the current version, it is on our TODO list however.
Starting with version 10.5 of Advanced Installer we have also added support for creating and editing transform files.

All the best,
Daniel
Daniel Radu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Building Installers”