This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Reinstall fails to install all components.
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 24, 2011
05:01 AM
Reinstall fails to install all components.
Hi,
We are basically creating installer for plugins for different applications for which we install only if compatible version of application is present. I want to implement a behavior where user if later installs an application can run a repair where we are using transitive components and hence corresponding components will install. This is working fine for some components but not for all. For two components present in parent feature which will always install(hence saving myself from ADDLOCAL and REINSTALL property population) i get this in log data.
Acrobat9Files; Installed: Local; Request: Null; Action: Null
AcrobatConfig; Installed: Local; Request: Local; Action: Local
The only difference these components have is there install location. While Acrobat9Files install in folder specific to Acrobat 9, AcrobatConfig installs in installdir. Even conditions are same.
I can't find any such difference. However, if i change the location of Acrobat9Files to same location where AcrobatConfig is getting installed i.e. installDir, then both are getting installed. I suppose i am missing out something when location of Acrobat9Files is set originally. What i am doing is using systemsearch to obtain the location of Acrobat 9 and then appending some path to it. Acrobat9Files goes in resultant path
Also i would like to add that I use set directory CA to set the location of Acrobat9Files component and this is schedule after cost finalize and before install validate events.
where am i going wrong?
We are basically creating installer for plugins for different applications for which we install only if compatible version of application is present. I want to implement a behavior where user if later installs an application can run a repair where we are using transitive components and hence corresponding components will install. This is working fine for some components but not for all. For two components present in parent feature which will always install(hence saving myself from ADDLOCAL and REINSTALL property population) i get this in log data.
Acrobat9Files; Installed: Local; Request: Null; Action: Null
AcrobatConfig; Installed: Local; Request: Local; Action: Local
The only difference these components have is there install location. While Acrobat9Files install in folder specific to Acrobat 9, AcrobatConfig installs in installdir. Even conditions are same.
I can't find any such difference. However, if i change the location of Acrobat9Files to same location where AcrobatConfig is getting installed i.e. installDir, then both are getting installed. I suppose i am missing out something when location of Acrobat9Files is set originally. What i am doing is using systemsearch to obtain the location of Acrobat 9 and then appending some path to it. Acrobat9Files goes in resultant path
Also i would like to add that I use set directory CA to set the location of Acrobat9Files component and this is schedule after cost finalize and before install validate events.
where am i going wrong?
(2) Replies
Not applicable
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 27, 2011
11:42 PM
I faced same kind of problem, during modify I tried to update an ini file. But I found it worked only when I removed the .INI file.
It means the reinstall works only when it finds those files missing? May be an upgrade can help.
It means the reinstall works only when it finds those files missing? May be an upgrade can help.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 24, 2011
08:46 PM
perhaps a combination of "always overwrite" and "transitive" will fix the issue?
keep in mind that when deciding whether to reinstall a component, msi checks the keyfile. if this is not foound, or found to be an earlier version than the one in the package, then it'll be (re)installed. otherwise, nothing happens. the assumption is that either the thing is already installed, or it's been modified (therefore having user data which the installation doesn't want to wipe out).
given the box that you're in, perhaps authoring that file into the removefiles table (concurrent with the previously mentioned ideas) will solve the issue.
-"transitive" (reevaluate condition) will assure that the component is checked on reinstall
-"always overwrite" will supersede the file versioning rules
now installvalidate will say that the component needs to be installed.
-adding the record in the remove files table assures that the file gets deleted during the "removefiles" action so that the "installfiles" action will not decide against overwriting a "newer or same version" file.
keep in mind that when deciding whether to reinstall a component, msi checks the keyfile. if this is not foound, or found to be an earlier version than the one in the package, then it'll be (re)installed. otherwise, nothing happens. the assumption is that either the thing is already installed, or it's been modified (therefore having user data which the installation doesn't want to wipe out).
given the box that you're in, perhaps authoring that file into the removefiles table (concurrent with the previously mentioned ideas) will solve the issue.
-"transitive" (reevaluate condition) will assure that the component is checked on reinstall
-"always overwrite" will supersede the file versioning rules
now installvalidate will say that the component needs to be installed.
-adding the record in the remove files table assures that the file gets deleted during the "removefiles" action so that the "installfiles" action will not decide against overwriting a "newer or same version" file.