PDA

View Full Version : How to update setup.ini after it is created?



jesuraj
07-22-2013, 02:46 PM
" InstallShield 2013 Builds Only Unicode Versions of Setup.exe and Update.exe; Ability to Create ANSI Versions Is No Longer Available"

I have upgraded my Basic MSI project from IS 2010 to IS 2013. After making all the relevant changes needed to upgrade, I built the installer using makefile. InstallShield 2013 creates the unicode version of setup.ini file. During the build process, after the setup.ini is created, I have to modify the setup.ini add the language support and the product name based. If I use the same process used in building the InstallShield 2010 project, setup.ini file is modified. When Setup.exe is run, the installer fails with the error "Error reading setup initialization file". So I want to know the options I have to update the setup.ini file after it is generated by iscmdbld.exe.

I tried converting the setup.ini to utf-8, and make the changes and convert it back as unicode.
This way Setup does get started, but when it comes to running Custom Action functions in Deferred mode, I see the following error in the log file

"InstallShield 18:25:26: Initializing Engine
InstallShield 18:25:26: Failed to open script 'C:\Users\ELIZAB~1\AppData\Local\Temp\{1A104170-3DF3-44B9-9EB9-6D7D84220F0E}\setup.inx', error is -2147219455
InstallShield 18:25:26: Open Script operation failed, error is 0x80040801
InstallShield 18:25:30: Failed to invoke __ISWIUnInit, error is 0x8000ffff
InstallShield 18:25:30: Failed to invoke __ISRTUninit, error is 0x8000ffff
InstallShield 18:25:31: Initialize() Failure, Failed to Initialize script support, Error = 0x80040801".

Though the installation proceeds and completes, the product I install does not get launched correctly.

Please help.

Elizabeth.

MichaelU
07-24-2013, 08:17 AM
I'm not completely sure, but it sounds likely that you may be dealing with two separate problems here. One sounds like it's caused by the mechanism you're using to update setup.ini. Just to confirm, it is a Unicode (UTF-16) file now that otherwise follows the rules of ini files (APIs such as WritePrivateProfileString should be able to update it correctly). The other sounds related to executing an InstallScript custom action. Are you modifying anything related to the script engine as well? Do non-deferred InstallScript custom actions also show the same symptoms?

jesuraj
07-25-2013, 09:00 AM
I thought all this problem was related.

Half of my problem was due to bad installation of IS2013. I don't know what happened during my installation.

For the setup.ini Unicode issue, I had to convert the Setup.ini to UTF-8, modify the file with our settings, and re-convert it back UTF16, setup.ini did not get corrupted.

The second issue of running Custom Action in Deferred mode in System context was gone with re-installation of IS 2013.