09-02-2011 04:43 PM
I just upgraded a project from .NET 3.5 to .NET 4.0, and in the process I upgraded from MS 8.6.1 to MS 2010. When I build an installer for this project using the Visual Studio installer project, my program installs without any issues.
However, when I attempt to deploy the project using InstallShield 2011, I receive the following error immediately upon running the .MSI file:
NIMUPersistPartRegInfo: MSI error: 1628 ( <Unable to format error record.>)
I opened up the .MSI in ORCA and can see several NIMUPersistPart entries but I am not sure if they are correct or not. However, if I remove the NI merge modules from my project, the installer works correctly.
I've tried to go through Flexera for more support, but have come up empty. Does anyone at NI have any idea what causes this problem?
09-06-2011 05:25 PM - edited 09-06-2011 05:30 PM
Hi shansen,
Since we do not officially support distributing the applications with InstallShield which is why I are not sure about the error you are getting, since we have never tested it out. I would recommend for now using the Visual Studio Setup Project to create the installer. If you would like to still use InstallShield I have found a couple of possible solutions for you.The first one to try in order to get around this is for you to make sure these three things are included in your installer:
1. Make sure your installer's part contains a Registry Table
2. Make sure your installer's part contains an InstallExecuteSequence table
3. Make sure InstallExecuteSequence table contains WriteRegistryValues and RemoveRegistryValues actions
The second is found on the following link:
http://error-toolkit.com/error.php?t=1628
Please let me know if this helps.
Regards,
Perry S.
09-08-2011 04:57 PM
Perry,
Thanks for the assistance. I double checked the .MSI file and it does contain the InstallExecuteSequence table including the WriteRegistryValues and RemoveRegistryValues actions. However, it does seem to be missing the Registry table altogether. I will look into this more to see if I can't understand why that is happening.
Regards,
Steven