Custom installation installing empty folder. - installshield

i'm new to installshield and am learning how to use it on the fly, I have an installshiled 2011 project that upon a custom installation when i deselect a component from being installed, it is not installing the files, but the folder for those files is created empty, how can i prevent it from being created?!
Thanks in advance.

I solved this by going to Files and Folders under application data,
looks like some one checked the parent node under custom installation, when i checked only the child node it didn't create any unnecessary folders.

Related

InstallShiled2011+Install Folder Getting Deleted

I have an application, which is getting installed C:\ProgramFiles\RootFolder\InstallDir.
I have another application which is also getting installed in same root folder , eg:
C:\ProgramFiles\RootFolder\InstallDirofAnotherApp.
Here when I am trying to reinstall my application, it is deleting the entire Root Folder, It doesn't mind about the another installation of the other one.
So, it is deleting C:\ProgramFiles\RootFolder
Is there any setting to do like that? This is a legacy project and I am new to this. Unable to fine the cause
Thanks,
Nanda
What type of projects are these applications (basic MSI, or InstallScript)? Check [INSTALLDIR] (General Information -> INSTALLDIR) in both packages; if these properties are different, see if there is any custom action that perhaps delete some files/directories.

How to prevent files from getting overwritten when installing using multi-instance feature

I have created a project of type InstallScript Project. It is a multi-instance installer and I can install multiple instances of same application.
At the time of uninstalling of any instance, I am preserving some configuration files. I have set the 'Shared=YES', 'Uninstall=NO' and 'Overwrite=Never' properties for components that I need to preserve. This works fine and at the time of uninstall the files that are marked as 'Uninstall=NO' are preserved and not deleted.
The problem happens when I try to install a new instance. The directory to install a new instance is same as the one having preserved configuration files. But the installation Overwrites those configuration files. The property 'Overwrite=Never' does not seems to have any effect. How can I prevent those files from getting overwritten.

InstallShield VStudio project is installing app.config file instead of merged MyApp.exe.config

Using a InstallScript C# .Net Wizard to connect to a WinForms solution where I used the dependency scanner to identify project outputs.
The install package is copying the un-merged app.config file to the target directory instead of the solutions merged MyApp.exe.config file. This results in a executable that does not properly pickup configuration file settings not only because the file isn't named correctly but it also does not merge in target environment settings (ie. release, debug, etc.).
How do you have the Installer copy the merged MyApp.exe.config file to the Install Directory?
Try this, I believe this should work.
Select the config file, and in the Copy to Output Directory under File.Properties, choose Copy always or Copy if newer. You can choose any file you like with this method. Basically this file will be placed to a directory where the binaries are built. This is still a better method than configuring/fixing from InstallShield, I think. I will like to hear from you, if you disagree.
Another thing, a config file is used and determined at run-time by code. That’s probably the reason why InstallShield does not know the file dependency on it. And it is out of scope for that tool.
Have fun and let me know what happens.
Tommy Kwee
I am using SlowCheetah to do my app.config transforms and here is what we're doing to get installshield to work. For postbuild step, copy all files needed by installshield to a separate Install folder (i.e. copy "$(ProjectDir)$(OutDir)." "$(ProjectDir)bin\Install"). Point installshield to that folder to build it's output
I'm also using SlowCheetah for my config transforms, but the real answer to this question is that the InstallShield project pays attention to the selected Solution Configuration. If you select the Release configuration before building the InstallShield project, the Release output will be used in the install package.

Removing extra files after uninstalling a clickonce application

I have a project that uses clickonce to generate the setup.exe. During the run time my program create some extra files like "Log" and "Attachments" inside the User Folder. However, those folders are not removed when I perform an uninstall of the clickonce application from the ARP. These remaining files are interfering the next install.
I know that click once does not support for adding custom action to install or uninstall. I am wondering if is there is a way that I can remove those extra file programmingly after performing uninstall?
One way I have tried was to create a cleanup script and added it as a bootstrapper package to pre-requisite of the click once project. That worked in a way that every time before a new product was installed, the previous dirty data had been removed. However, this messed up the upgrade case.
Any ideas on how to remove the extra files that left by clickonce uninstallation?
Thank you
JS
There is no way to do anything when uninstalling a ClickOnce application other than uninstall the ClickOnce application.
Have you considered putting the files in the ApplicationDeployment.CurrentDeployment.DataDirectory ? Then they will be removed when the application is unisntalled.
If the files are part of the project, you can set the type to Data in the Application Files dialog, and it will automatically place them in the data directory when deploying.
This solution works on multiple re-installations (clean), however it doesn't remove the data on last uninstall or until the next installation takes place.
Stil there is no custom action place on uninstall to remove the files beyond clickonce scope.
Leave a file in to ApplicationDeployment.CurrentDeployment.DataDirectory.
On startup, see if the file exists on conditions network deployed, firstrun (which resets on upgarde too).. success case, it is a first installation or upgrade. Failure case, the application is been uninstalled and installing again .. now you have a chance to clean up the application data.
If the data is sensitive, you may want to use other solution to remove files on uninstall ( as of now I don't see that Microsoft is given us an option)

How can I selectively delete a Start Menu folder with NSIS?

I am using NSIS to create install and uninstall wizards to my rather simple app for Windows.
The situation is, my NSIS script creates a shortcut to the app in the Start Menu folder for the installation wizard. So far no problem. Other apps (related with mine) install their shourcts in the same Start Menu Folder too.
The problem is in the uninstall process. I can delete my shortcuts without a problem but, what about of the folder in the Start Menu? I cannot delete it if there are apps alredy there but I would like it to be removed if the folder is empty.
How can I check using the NSIS script if the folder is empty and therefore condition if the deletion of the folder has to happen or not?
Although is not vital I don't like to have empty useless folders cluttering my Start Menu view.
Thank you very much in advance!
Julen.
RMDir "$SMPrograms\yourfolder" will only delete the folder if it is empty

Resources