Dec 14, 2010
04:44 PM
I believe I have this resolved. I'll post what I did in case anyone encounters the same behavior and finds this thread. In Installshield's uninstall key, there were some command line arguments to the setup.exe: -runfromtemp -l0x0409 -removeonly I had not previous included these when I called the uninstaller from my bootstrapper. I dropped the language arg, but used the other two (I suspect the "runfromtemp" is the one which was key to resolving my issue). The bootstrapper no longer got into a broken state once I added these args.
... View more
Dec 14, 2010
01:19 PM
update: By directly re-installing the main installscript-MSI on a machine that was in this weird state, then uninstalling via add/remove programs, the bootstrapper then works again. So, the machine can be "unbroken", and perhaps this gives some additional clue as to what is happening? I would still appreciate advice on a better way to handle the use of the bootstrapper as uninstaller in order to completely avoid this problem.
... View more
Dec 14, 2010
12:48 PM
I have a fairly new installation flow which involves a 32-bit Installscript bootstrapper which detects 32/64-bit and then calls the corresponding "main" installer package. The bootstrapper is designed to fail out with an abort statement after the call so that it doesn't register as an installed product itself. If it's relevant, the main installer packages are Installscript-MSI. The install works great, and if a user uninstalls via Add/Remove programs, all is well (it just calls the main installer's setup.exe directly). The problem occurs when users choose to run the original bootstrapper again to perform an uninstall. I have some installscript code to detect the presence of PROGRAMFILES^"InstallShield Installation Information"^{GUID for the 32 or 64-bit main package}^setup.exe. If detected, the bootstrapper knows it is being used for uninstall, so it calls that exe to initiate maintenance of the main installer, then fails out with an abort statement. I've tried this both with wait and no wait on the LaunchAppAndWait call to the other setup.exe, and either way the uninstall seems to proceed fine, but somewhere in this process the installscript bootstrapper becomes unusable again on that machine. Any further attempts to launch the bootstrapper result in the following error: Error reading setup initialization file I checked the temp folders and some were created, but were empty -- setup.inx and other familiar IS support files were nowhere to be found. I'm looking for advice not only for designing around this problem, but for fixing an existing machine which was affected by it. Thank you.
... View more
Labels
- Labels:
-
InstallShield 2011
Nov 22, 2010
05:12 PM
Nevermind, thought it would be trickier, but it's just a 1 line solution: ParsePath(svSetupExeFileName, PACKAGE_LOCATION, FILENAME);
... View more
Nov 22, 2010
04:30 PM
Based on further research it looks like I can use the PACKAGE_LOCATION system variable and then manipulate the string to filter out the directory information to get just the filename. I'd still be interested to hear if there is a more efficient way to grab ONLY the filename. Thanks.
... View more
Nov 22, 2010
04:21 PM
Just to close off this discussion in case anyone is interested, I found another thread where Tobias79 described a simple way to use a pure installscript bootstrapper (http://community.flexerasoftware.com/showthread.php?t=193574&page=2), and this worked well for our needs.
... View more
Nov 22, 2010
04:11 PM
Hi Tim, Sorry, hadn't checked back on this thread for a few weeks. It looked like MSI chaining was not going to allow all the flexibility I needed for the various potential setup workflows, so I went in a different direction. I have the initial user download as a light installscript bootstrapper which provides the UI sequence and then calls the other projects (passing along user choices via command line args), and then fails out (so as not to create an ARP entry). The downstream projects can still be hidden using ARPSYSTEMCOMPONENT property, and the uninstaller for the one main project which does show up for the user in ARP manages the uninstall of the hidden projects as well. It's perhaps a bit more work to setup, but allows for a better download experience during the installation (using the web downloader, IS provides a nice file download progress meter for each project... I don't believe we can get this level of feedback handling the download manually with CopyFile() or similar in install script). Also, we don't have to worry about MSI 4.5 being required for XP users. Another issue was that the default value of SourceDir using MSI chaining did not seem to work correctly.
... View more
Nov 22, 2010
03:48 PM
I've been using this with MsiGetProperty for awhile in Installscript MSI, but recently I needed to build a pure Installscript bootstrapper project (no MSI), and need to access what the actual exe filename is. After a quick search in forums and help file, I found one option that looked promising -- I tried DISK1SETUPEXENAME, but this proved to be hard-coded to "setup.exe", so that didn't work. Is there another handy way to get this information in installscript?
... View more
Nov 19, 2010
04:00 PM
ok, I re-customized the easier of the dialogs and confirmed it works. If anyone from Flexera is reading this, PLEASE try to handle this better with future releases such that we don't have to re-customize our skinned dialogs after upgrading a project! Thanks!
... View more
Nov 19, 2010
12:37 PM
I am seeing a similar problem, but can add some additional information -- -I customized the dialog to delete the "modify" option, while still keeping both repair and remove. -The project type is InstallScript MSI. -Uninstall is initiated from the add/remove programs list in a Windows 7 x64 environment (haven't checked in other OS's yet). -Most importantly, this used to work fine in IS 2010 (i.e. dialog had our custom skin), but after upgrading to IS 2011 it loses the skin. However, the uninstall progress dialog picks up the skin. -Another customized dialog seen during install shares the same problem, so it is definitely not isolated to the uninstall. I seem to recall in a previous Installshield upgrade I had a similar issue where customized dialogs were suddenly larger (button/text positions shifted as well) after upgrading, and I had to revert the dialog back to default and completely re-do the customizations within the newer version of Installshield. Can anyone confirm that this is also the solution now with the skins no longer showing? It's a bit of a tedious process, so it would be nice to have confirmation first that this will work. Thanks.
... View more
Oct 22, 2010
11:38 AM
I've got the uninstallation working correctly now. With a more careful read of the chaining properties, I noticed that uninstallation occurs when the uninstall conditions are met AND the install conditions are FALSE. I needed to change the install conditions to the following: Not Installed AND (VersionNT64) (or NOT (VersionNT64) for the x86 package). Thus, the "Not Installed" part evaluates to false and allows the uninstall of the chained package. I am still wondering about best practices for handling/copying the chained MSI's during install. We will need both a CD installation and a web download setup (where we the keep the initial setup.exe download as small as possible). For the CD case, it would work fine to stream the additional MSI's (and I assume uncheck "delete streamed files" so the CD is not required for the chained MSI's to uninstall from the user's ARP list)... however, the web downloader approach seems a bit trickier. Since I needed to manually copy the chained MSI into place for my test runs to work, it seems like I would need to do the download and copy of these MSI's manually here (perhaps use a little C# app called as a prerequisite in the first package to handle this task?). Any advice on this latter issue? Thank you.
... View more
Oct 21, 2010
06:34 PM
I've been experimenting with MSI chaining and there are a couple things that don't seem to be working for me (at least not the way the IS help describes the behavior): I have an MSI Installscript very light project as the "bootstrapper" and then I call either an x86 or x64 package depending on OS. I have install conditions set to either (VersionNT64) or NOT (VersionNT64) to choose the correct chained MSI. I do not want to stream the additional MSI packages into the first IS project. The help indicated I could set the path for the MSI to the typical MSI cache location for instance ( [LOCALAPPDATAFOLDER]\Downloaded Installations\{GUID}\ ). It turns out this causes the install to fail (generic error). However, if I manually copy the MSI to this cache location before install, the chaining proceeds with no error. Am I doing something wrong here? It seems like Installshield or MSI should handle this step (copying the MSI). Passing MSI properties and hiding secondary MSI packages from ARP seems to work fine, but when I uninstall the product (from the first package's ARP entry), it does not uninstall the chained MSI(s). My understanding was that Windows Installer wraps this all into one transaction, so I would expect that it would uninstall all the MSI packages together. Again, has anyone gotten this to work? Perhaps I just have it configured incorrectly. Note that there is a default removal condition of REMOVE="ALL" when you add a new chained MSI item, so I had left that in place. The initial project should have REMOVE="ALL" set when I uninstall it. Based on these issues I'm not getting the benefit I expected from chaining and will probably need to abandon it and find a different (probably much more complex) solution, so I hope someone can help suggest a solution to the issues mentioned above. Thank you.
... View more
Labels
- Labels:
-
InstallShield 2011
Oct 15, 2010
12:19 PM
I like the C# "wizard" concept... my only concern there is that we currently include .NET 3.5 sp1 as a prerequisite. I know it's included in Windows 7 already, but we still need to cater to pre-Windows 7 users. If .NET is not installed on the target machine, the wizard would fail, right? Or do you have a wrapper to detect & handle this case? I'm still curious if anyone is using the chained MSI approach with tricks to handle the extra ARP entries? Thanks.
... View more
Oct 11, 2010
01:19 PM
Kathy - thanks for the clarification about the Windows Installer limitation. I am not so concerned about fitting 32 and 64-bit files into a single project, but more with the end user experience. We would like to provide a single exe file for customers, so it sounds like we probably would need to strip down the main launcher project and have it detect 32/64 bit and then install the appropriate additional .msi file using the "chained .msi packages" feature. If there are other alternatives that people know of, please share your thoughts. If we are left with the chained .msi packages as the best/only solution, that still leaves an additional problem -- this technique (as I understand it) will result in multiple entries in the end user's ADD/REMOVE program list, which leaves the installation prone to user confusion/error. I was wondering if anyone has an elegant workaround for this? Ideally, it would be nice to hide the additional ARP entries beyond the outer "launcher" product, and configure the uninstallation to remove the additional chained .msi packages. I'm guessing this involves deleting some ARP-related registry keys though which are required to correctly uninstall the additional .msi packages. Has anyone implemented a solution like this? Thanks.
... View more
Oct 06, 2010
05:46 PM
I know this was either very complicated or impossible in prior releases of Installshield, but we were under the impression this capability was greatly enhanced in IS 2011, and have recently upgraded to take advantage of this. So far, between the release notes and forums I haven't seen clear instructions on how to accomplish this. To clarify, I'd like to maintain a single project (ideally using installscript MSI) which creates one output exe that could be installed either on a 32-bit or x64 OS. I've seen explanations involving setting release flags (where 32b/x64 components are filtered accordingly) and generating 2 separate output exe's. Is this the best available option even with IS 2011? Some details about what we have now which may help clarify what we need: -- both our 32b and x64 installers have dlls installing to the GAC (needing to be registered during install), to system32, and writing lots of registry keys in the HKLM branch. -- the x64 installer includes some 32-bit applications with accompanying registry keys meant for the WOW6432Node area of HKLM. These are generally duplicates of some of the x64 applications, and so there is no equivalent need in the 32-bit installer for these duplicates. While I expect certain files would need to be duplicated in 32b and x64 components, a great many of our files are exactly the same for both installers and we would really like to minimize the installer package size and not have duplicates of these files. I would really appreciate some guidance in understanding what our options are. Can we accomplish what I've described, or if not, what are the next best options? Thank you.
... View more
Labels
- Labels:
-
InstallShield 2011
- « Previous
- Next »
Latest posts by BrHartmann
Subject | Views | Posted |
---|---|---|
1000 | Dec 18, 2013 06:16 PM | |
1722 | Dec 17, 2013 01:07 PM | |
4519 | Nov 05, 2013 12:42 PM | |
7428 | Oct 23, 2013 07:27 PM | |
1854 | Apr 30, 2013 04:05 PM | |
1854 | Apr 24, 2013 05:13 PM | |
5501 | Apr 19, 2013 06:44 PM | |
690 | Nov 07, 2012 03:43 PM | |
3127 | Nov 05, 2012 06:41 PM | |
1253 | May 23, 2012 01:19 PM |
Activity Feed
- Posted Re: Filenames with Japanese characters are corrupted during build or install (basic MSI) on InstallShield Forum. Dec 18, 2013 06:16 PM
- Posted Filenames with Japanese characters are corrupted during build or install (basic MSI) on InstallShield Forum. Dec 17, 2013 01:07 PM
- Posted Installation does not continue when a prerequisite forces an immediate reboot on InstallShield Forum. Nov 05, 2013 12:42 PM
- Posted Shortcut shell properties may cause installer to freeze at "Creating Shortcuts" step on InstallShield Forum. Oct 23, 2013 07:27 PM
- Posted Re: Need better dialog support for MS Surface Pro at 192 dpi on InstallShield Forum. Apr 30, 2013 04:05 PM
- Posted Re: Need better dialog support for MS Surface Pro at 192 dpi on InstallShield Forum. Apr 24, 2013 05:13 PM
- Posted Need better dialog support for MS Surface Pro at 192 dpi on InstallShield Forum. Apr 19, 2013 06:44 PM
- Posted Re: Why is '.NET Com Interop' option not performing Regasm correctly? on InstallShield Forum. Nov 07, 2012 03:43 PM
- Posted Why is '.NET Com Interop' option not performing Regasm correctly? on InstallShield Forum. Nov 05, 2012 06:41 PM
- Posted Re: /clone_wait breaks install UI localization on InstallShield Forum. May 23, 2012 01:19 PM
- Posted Re: /clone_wait breaks install UI localization on InstallShield Forum. May 23, 2012 01:12 PM
- Posted Re: /clone_wait breaks install UI localization on InstallShield Forum. May 23, 2012 01:07 PM
- Posted Re: /clone_wait breaks install UI localization on InstallShield Forum. May 23, 2012 01:02 PM
- Posted /clone_wait breaks install UI localization on InstallShield Forum. May 04, 2012 03:12 PM
- Posted Re: Associating a File Type with Multiple Executables on InstallShield Forum. Dec 01, 2011 06:09 PM
- Posted IsCmdBld and faulty exit code on InstallShield Forum. Dec 01, 2011 12:06 PM
- Posted Re: Associating a File Type with Multiple Executables on InstallShield Forum. Dec 01, 2011 11:48 AM
- Posted Re: Associating a File Type with Multiple Executables on InstallShield Forum. Nov 30, 2011 03:16 PM
- Posted Re: MSI package with conditional chained items MUST install at least one ? on InstallShield Forum. Nov 28, 2011 05:35 PM
- Posted Re: bug with multiple release flags and MSI chaining? on InstallShield Forum. Nov 28, 2011 04:25 PM