Showing results for 
Show  only  | Search instead for 
Did you mean: 
Level 4

Some questions from beginner

Here are some questions:
1) At last I created some kind of installer and now I'm going to install my application. During installation process I ask user to enter some connection strings and other configuration information which is then written to xml file. Everything seem to work OK until I want to repair or modify. I assume that during REPAIR operation config file should be overwritten but what to do with tons of configuration information in it? I don't want to loose it and I don't want user to enter it again! I don't want to write scripts to parse tons of this information because Installshield has not built-in instrument to do this...
If we take a look at MODIFY operation... User can select additional features and these features might call tons of input windows. And again: input information is written to config files. For some reasons I don't want to REINSTALL already installed features because this leads to overwriting properly configured config files...
Please explain me how should I behave with all of this, what are best practices for this? And please, show me detailed instruction HOW TO deny overwriting and HOW TO allow overwriting in different modes (normal installation, repairing, modifing, upgrading).
2) Everytime I rebuild my installshield project and run, I see simple dialog which offers me to uninstall application installed by previous build. If I refuse it offers me to UPGRADE application... and it doesn't matter what version of product I currently have. So I can upgrade from version 1.00.000 to version 1.00.000. How to change this annoying behaviour? I don't want to see those annoying dialogs... BTW, I can't debug them. They appear before first debuggable event.
3) Is there any way to connect to oracle database and execute query from installshield script?
4) Sometimes I want to build a patch. So I point to prevoius msi, point to latest msi and then... I have patch about 5 mbytes, though I added simple 1 kbyte text file 🙂 Is it ok? And this patch overwrites all my config files 😞
5) About prerequisites... Is there any way to delete redistributable package from installation package but keep reference to it? For example: I have application about 2 mbytes written in .NET 3.5. So I set .Net 3.5 as redistributable and my installation package is now about 220 mbytes. After this I want to send this package to my client. I definitely know that my client HAS .net framework 3.5 installed, so I delete dotnet35fx.exe from my installation package and send about 5 mbytes instead of 220. But, unfortunately, when client runs installation, annoying message that dotnet35fx.exe is not found appears. How to turn this off?

I am waiting for detailed answers 🙂
Thanx in advance
BTW, project type is InstallScript MSI
Labels (1)
0 Kudos
(4) Replies
Level 8

You have a lot of questions, but that's okay 😉

1) Since you are using the Basic MSI project, I would like to know how you are creating your configuration files? If you are using the .INI or .XML views in the IDE, then that could explain why your config files are being overwritten during reinstall and modify. The XML view of the IDE offers more control than the INI view. But both the INI and XML views may not be the best place for the creation of your config files. Because they may be overwritten during a reinstall.

You could use custom actions to create your config files and then attach conditions to them. Then you would be able to specify when the custom action was to be executed. If you only wanted the config file to be created during the initial install, you would specify a condition of NOT Installed for the custom action.

So, when you install your application, the initial config file is created. Then during the running of your application, the config files would be modifed. Then during a reinstall or modify, they would not be touched, because of the condition.

2) While you are developing and testing your installation, you will have to do this. Install your application, run it and see that you need to make changes to the installation. Now, uninstall the application. Next, make the changes to the installer, rebuild, and run the installation. The point is that even when you are using the InstallShield IDE, you will still have to uninstall your application before you install it again. No way to get around that.

3) I've only worked with SQL Server databases in Installshield, so I can't answer this.

4) Regarding the patch, if you use custom actions to create your config files and specify conditions, you shouldn't have this problem.

5) I am not clear here on what you are doing. If you know that your client always has .NET 3.5 installed (you're positive he has it installed), then you don't need to add it to your installation project as a redistributable. Maybe you need to give more information on this one.
0 Kudos
Level 4

Sorry, but I gave you wrong information. Project type is InstallScript MSI.

1) I have xml template with empty attributes and values. I add this template to installation. This template is copied during installation and then modified by xpath rules, defined in xml views (IDE).
You suggest me to use custom actions. In this case af far as I understand, I have to create xml files manually and I would not be able to use xpath expressions to make modifications...

5) First client may have .net installed but second may have not. I don't want to make two different installation builds. It would be nice if I could take one build and for first client just delete .net framework distrib from installation catalog structure

BTW, my xml config file is associated with component. Component has property "never overwrite". I tried to use this but after reinstallation config file is deleted for some reasons... (((
0 Kudos
Level 4

I have big configuration file. This file is added as a component. Also I have XML Files Changes rules that change this configuration file. During first installation everything is ok.
So the two main problem are:
1) After installation if I change file manually REPAIR and MODIFY do not overwrite it. I suppose this is because modification date of installed files becomes later due to manual modification. How to change this behaviour? I want overwrite during REPAIR but don't touch it during MODIFY.
2) And during UPGRADE config file is ALWAYS overwritten. But I don't want change it at all...
0 Kudos
Level 4

Please somebody, express your opinion
0 Kudos