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
- :
- Small Upgrade won't install new files
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
‎Feb 17, 2010
03:23 PM
Small Upgrade won't install new files
This is my first InstallShield project so hopefully my problem will be something easy that I'm just completely over-looking.
Our company sells two different products that run off of the same executable. I'm making an installer that has all the files for our app, and it runs and installs perfectly. Then, I want to be able to make a separate installer that completely installs all the files for the 2nd app, but if the first app is preset, I just want it to add a few extra files into the 1st app's folders. So either install could install a full version, but it will just update the previously-installed app if it is preset.
All i do to differentiate these apps is set a value in the Property Manager that essentially says "thisIsApp1" or "thisIsApp2". I then use this value to install or not install certain Components. This works fine when I'm only installing one app or the other for the first time. BUT, if it's trying to upgrade the other app, it NEVER adds in the files. I want it to say "ok, the app1 is here, let's just add in the files that are specific to app2."
I change the Package Code and I've tried adding the REINSTALLMODE stuff to setup.ini. Nothing works! It says it's performing an update but nothing gets added.
Does anyone have ideas what I should be doing?? Am I completely off on this? Any help would be greatly appreciated.
Our company sells two different products that run off of the same executable. I'm making an installer that has all the files for our app, and it runs and installs perfectly. Then, I want to be able to make a separate installer that completely installs all the files for the 2nd app, but if the first app is preset, I just want it to add a few extra files into the 1st app's folders. So either install could install a full version, but it will just update the previously-installed app if it is preset.
All i do to differentiate these apps is set a value in the Property Manager that essentially says "thisIsApp1" or "thisIsApp2". I then use this value to install or not install certain Components. This works fine when I'm only installing one app or the other for the first time. BUT, if it's trying to upgrade the other app, it NEVER adds in the files. I want it to say "ok, the app1 is here, let's just add in the files that are specific to app2."
I change the Package Code and I've tried adding the REINSTALLMODE stuff to setup.ini. Nothing works! It says it's performing an update but nothing gets added.
Does anyone have ideas what I should be doing?? Am I completely off on this? Any help would be greatly appreciated.
(6) Replies
‎Feb 18, 2010
01:20 PM
davech66 wrote:
You should just create a new project for 2nd app, using condition to find out whether the 1st app is there.
hope this helps.
Thanks for responding! This worked for getting the files into the first app but its getting all messed up when I try to uninstall. The installer thinks there are two different apps and so only uninstalls some things on the first uninstall, but leaves some other files. Subsequent uninstalls don't uninstall anything and then there's a bunch of junk left on the user's computers.
I can't just do a patch because we want both apps to be complete installers if the other app isn't present.
‎Feb 19, 2010
01:41 PM
I found out that my main problem was. I am setting a Property for Is_App1 and then using this value as a condition to see if I should install a component or not. I hadn't, however, set the Component property "Reevaluate Condition" so when I came through on the reinstallation it wasn't checking to see if it should get installed again and thus was never adding the components for App2.
Now, I'm trying to set the msidbComponentAttributesTransitive property in what the Help Library calls the "Component Table", but unfortunately, I don't know how to access this property. Does anyone know how to do this?
Now, I'm trying to set the msidbComponentAttributesTransitive property in what the Help Library calls the "Component Table", but unfortunately, I don't know how to access this property. Does anyone know how to do this?
‎Feb 22, 2010
08:05 AM
The msidbComponentAttributesTransitive bit would need to be set in the Attributes column of the Components table, which you can access through the Direct Editor view.
A much easier way to set this bit is to select select Yes for the Reevaluate Condition setting for the component in the Components view. If you do that, InstallShield will update the appropriate Attributes record in the Components table for you.
I hope that helps.
A much easier way to set this bit is to select select Yes for the Reevaluate Condition setting for the component in the Components view. If you do that, InstallShield will update the appropriate Attributes record in the Components table for you.
I hope that helps.
‎Feb 23, 2010
02:20 PM
I did set the Reevaluate Condition checkbox but on the 2nd installer, it would remove everything that was already installed. I wanted to install App1, and then add App2 to it. On App1, the condition for App1 files would be true and so they would install. However, when App2 was installing the condition IS_APP1 would be false so it would remove all of App1's files while adding App2's.
To finally solve the problem, I just made both apps search to see if the other app was already present, and if so, set it's condition to be true also. So if App1 was present when App2 installed, both IS_APP1 and IS_APP2 would evaluate to true and keep both app's files. Otherwise it would only install App2 like it's supposed to.
Thanks for your help, everyone!
To finally solve the problem, I just made both apps search to see if the other app was already present, and if so, set it's condition to be true also. So if App1 was present when App2 installed, both IS_APP1 and IS_APP2 would evaluate to true and keep both app's files. Otherwise it would only install App2 like it's supposed to.
Thanks for your help, everyone!