MSI Installer error 2810 interrupts installation, but still let's it finish with no problems

杀马特。学长 韩版系。学妹 提交于 2020-01-14 02:40:48

问题


I have a setup created that installs an application, and still does, but it started giving a strange warning at the end out of the blue. So, when the installation process finishes, the following appears:

The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2810.

So I checked 2810, and it says:

On the dialog [2] the next control pointers do not form a cycle. There is a pointer from both [3] and [5] to [4].

I was not changing anything in the "User interface" or "Custom actions" so this came unexpected. Also the installation completes if you just click ok and everything works fine, it just doesn't look good from a user perspective. Any help or similar issues encountered?


回答1:


Control_Next: This is probably just the tab-order for the controls on the dialog. See the Control_Next column of the Control Table. You need to find a way to visit each control of the dialog in sequence and sort out so there are no loops or double links.

TAB Order: In the dialog in question (launch the setup and get yourself to the FinishedForm dialog), try hitting TAB repeatedly to see what happens. It might work, but you might see the control order being messed up so TAB unexpectedly moves around the dialog haphazardly going in "reverse" selecting a control already visited or similar.

Fix: Fixing this depends on what tool you are using. You can "test fix" directly in the final MSI using ORCA or a similar tool to edit the Control Table directly (just open the MSI and do it). The real, lasting fix will be in the sources used to compile the setup. WiX, Installshield, Advanced Installer, Visual Studio Installer, or whatever tool you are using. Exact fix depends on tool. A screen shot of the Control Table content could give us the clue we need.




回答2:


I actually had the same problem and my Control Table was over populated just as you mentioned above. I beleive it was related or at least co-incided with the Visual Studio update from 16.3 to 16.4.2. For me I used the Visual Studio Installer too and on the older version of VS it compiles fine but the same commit number on a different machine with the new version it causes the same issue and the Control Table has a lot more Control_Next entries populated. Still not sure how to fix yet though in the source.

Edit: Ok I discovered the problem. The issue with it now populating more of the Control_Next I can only put down to a the update. However, the automatic entries put in by Visual Studio would have been fine but I realised we had the MSI launch the exe after install using this: Visual Studio Installer > How To Launch App at End of Installer technique.

That meant I was injecting and modifying the Control_Next and thus caused the loop of Control_Next to be non circular. It is worth noting that the Control_Next is basically the tab order of the MSI screen and it must always be closed (imagine the tab without anywhere to go).. Anyway, it was ultimately caused by us modifying on the post build process the Control_Next to add in the checkbox. After working out the last entry on a build without our code running i just modified the original last entry and then slotted in out one there. Now it works fine.

Hope this helps




回答3:


Filip5991 - Could you find any solution the problem related with EnableLaunchApplication.js ? If you have found please share with us



来源:https://stackoverflow.com/questions/59466275/msi-installer-error-2810-interrupts-installation-but-still-lets-it-finish-with

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!