Jimmy
Posts: 36
Joined: Thu Apr 12, 2012 1:13 pm

how to read build error "Error calling MSI API: 1627.."

Hi all

(using AI 10.5 actually)
After implementing a couple of Property- Settings in a Dialog's Init Event Page, I'm getting the following error:

Code: Select all

Error calling MSI API: 1627 Method: MsiDatabaseImport Table: ControlEvent. Extended Error: 1: 2216 2: [filename] 3: ControlEvent.idt 4: 240 .
in AI 10.6 the error looks:

Code: Select all

Error calling MSI API: 1627 Method: MsiDatabaseImport Table: ControlEvent. Extended Error: 1: 2216 2:  [filename] 3: ControlEvent.idt 4: 236 .
In advanced Installaer, I have access to the the mentioned table (ControlEvent). But: How to find the Entry, which causes the error?

Thanks in advance
Jimmy
Dan
Posts: 4529
Joined: Wed Apr 24, 2013 3:51 pm

Re: how to read build error "Error calling MSI API: 1627.."

Hello Jimmy,

Usually when this error occurs when you have duplicated rows in the “ControlEvent” table.
If you couldn't find the issue can you please send us the .AIP (project file) to support at advancedinstaller dot com so we can investigate it?

Best regards,
Dan
Dan Ghiorghita - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Jimmy
Posts: 36
Joined: Thu Apr 12, 2012 1:13 pm

Re: how to read build error "Error calling MSI API: 1627.."

Hi Dan

Thanks for your kind response.
I was able to fix it by using a restore of the aip from the last checkin and do some copy / paste.
I was just interested in how to find out, what causes the error, if there was no way to get rid of an earlier checkin.

Unfortunately, I don't have an aip which throws the error.

Regards
Jimmy
LuWa
Posts: 19
Joined: Tue Jan 11, 2011 9:35 am

Re: how to read build error "Error calling MSI API: 1627.."

Old Post but i have nearly the same Problem without Solution...
Error calling MSI API: 1627 Method: MsiDatabaseImport Table: ControlEvent. Extended Error: 1: 2216 2: C:\PrintplusServer\PrintplusServer.msi 3: ControlEvent.idt 4: 77 .

Advanced Installer 14.6 build 0ef0f1c38d
*** Stack Trace (x86) ***

[0x75d7db52] RaiseException()
[0x01dcde72] -----
[0x00c1755c] -----
[0x00c128f5] -----
[0x00cd5443] -----
[0x00cd3ef4] -----
[0x00bffa35] -----
[0x00c05c86] -----
[0x00a918d5] -----
[0x00bfadab] -----
[0x00741cf9] -----
[0x00741d04] -----
[0x0074904c] -----
[0x01543ab0] -----
[0x00f806b1] -----
[0x77662fea] RtlValidSecurityDescriptor()
[0x77662fba] RtlValidSecurityDescriptor()
[0x00380000] MODULE_BASE_ADDRESS
Can you help me?
Attachments
PrintplusServerTFS.aip
(526.35 KiB) Downloaded 980 times
Daniel
Posts: 8276
Joined: Mon Apr 02, 2012 1:11 pm
Contact: Website

Re: how to read build error "Error calling MSI API: 1627.."

Hello,

Indeed it seems somehow your setup project reached a corrupted state. It ended up with a duplicated control event.

Please find attached a fixed version of your setup project.
PrintplusServerTFS-FIXED.aip
(525.89 KiB) Downloaded 1079 times
If you could replicate this build error by starting from a working project (which successfully builds) , finding a pattern or test case this will be useful for us so we can analyze the context when a project could reach such state.

All the best,
Daniel
Daniel Radu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
LuWa
Posts: 19
Joined: Tue Jan 11, 2011 9:35 am

Re: how to read build error "Error calling MSI API: 1627.."

Thank you Daniel, it works.

I cant replicate the corrupted state, but i just added some conditions to the control with the duplicated entries and moved some up and down...
Daniel
Posts: 8276
Joined: Mon Apr 02, 2012 1:11 pm
Contact: Website

Re: how to read build error "Error calling MSI API: 1627.."

You are always welcome.

Just get back to us anytime we can help you.

All the best,
Daniel
Daniel Radu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
fpp-tg
Posts: 1
Joined: Thu Jul 12, 2018 3:42 pm

Re: how to read build error "Error calling MSI API: 1627.."

So other than mailing the support team my project how can I go about troubleshooting this on my end?
I've seen this question a couple of times in the forums and the resolution always seems to be to email the project to AI, received a "fixed" project, and continue on our way.

Is there something I can look at locally to attempt and fix this issue myself?
The cryptic explanation of "its reached a corrupted state" without detail gives me pause about purchasing an expensive license for this product despite an otherwise pleasant experience.
Catalin
Posts: 7492
Joined: Wed Jun 13, 2018 7:49 am

Re: how to read build error "Error calling MSI API: 1627.."

Hello and welcome to our forums,

As my colleagues said, this error occurs when you have duplicated rows in a table.
and the resolution always seems to be to email the project to AI, received a "fixed" project, and continue on our way.
We are asking for the .aip (project file) because we have versions of Advanced Installer Debug, which helps us detect the problem much easier / quicker.
Is there something I can look at locally to attempt and fix this issue myself?
Yes, you can go "Table Editor" page and try to find your duplicated row in the table specified in the build error. But this may take some time, depending on the complexity of your project.

Also, please keep in mind that Advanced Installer's "Table Editor" feature is available starting with an "Enterprise" project type or above.

Hope this helps!

If you have any further questions or doubts, don't hesitate to contact me and I'll gladly assist.

Regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
chrisdk781
Posts: 5
Joined: Thu May 16, 2019 4:53 pm

Re: how to read build error "Error calling MSI API: 1627.."

I know this thread is a bit old but I stumbled on this error and thought I should post what happened to replicate.

I started off my enterprise project by editing the UserRegistrationDlg to suit my needs, this is the important part, I deleted the current controls on the page and made my own custom ones but kept the name the same as the old controls.
Saved built a project just fine.
Then I went back and added a custom Dlg under the UserRegistrationDlg.
Then I Right clicked the customDlg page and clicked show only if and I made a Custom Property named ISUPGRADE = "TRUE".
and I dragged the FolderDlg under my customDlg, then dragged it back and right clicked it and removed it then readded it.
When i did this Advanced Installer added the deleted controls back to the UserRegistrationDlg and this caused the error.
Once I found this thread I went through the dialogs to find the controls that were added back and removed them, then I could build no issues.
From a software developer point of view my first thought would be no one would perform those steps that often, but I can tell you I did just trying to learn how the dialogs work and how I can change them.
Catalin
Posts: 7492
Joined: Wed Jun 13, 2018 7:49 am

Re: how to read build error "Error calling MSI API: 1627.."

Hello Chris,

Thank you for your followup on this and for the detailed explanation.

This may indeed be of help for further users facing a similar issue.
From a software developer point of view my first thought would be no one would perform those steps that often
Unfortunately, you do not have to perform so many steps in order for this issue to be reproducible. Some AIP files get corrupted by just one control being duplicated - which means a single step may be enough.

Fortunately, with a bit of work, the .AIP can be restored, so it can be buildable again.

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

Return to “Common Problems”