Setup project always clean installation - installation

I have a setup made by Setup Project for my application. Is there a possibility to make my setup not check for any installed versions of a product?
I want it to work in this way: whenever I open my setup I want it to do a clean install. I don't want to have any repair option, but I want it to allways overwrite the installed product.
Is there a possibility to achieve it in Windows Installer? Are there any properties I could change in Orca to achieve it?
Thanks a lot for any help!

You would need to stop registering the package with Windows Installer. To do that you need to remove the following standard actions from InstallExecuteSequence table:
RegisterUser
RegisterProduct
PublishFeatures
PublishProduct
Just so you know, this will also make the product to not be listed in Control Panel, list of install programs.

Related

Chained Packages in Advanced Installer

I am trying to launch another MSI while installing a first one. I found out about the chained packages. I followed this tuto, everything works great but I'd like to go further in the settings.
My final goal is to avoid, for the secondary installer, the install folder selection, and automatically install the files in the same folder as the principal MSI.
Is it possible ? If not, what could I do to reach my purpose ?
Any help would be greatful.
The main MSI install folder property is APPDIR. To achieve what you want you can set the install folder property of the chained MSI to the APPDIR property value. This can be done by setting the Properties field like this:
CHAINED_INSTALL_DIR_PROP = "[APPDIR]"
Also the chained package could be configured to install without full UI so the user cannot select the install folder.

Simple tool to create an MSI

Our company release a new version every month, with the latest data. We currently supply a CD with the installation program to our customer. We had the request to create a MSI file.
I am looking for a MSI tool that simply create/copy a folder on the C:\.
In the best scenario the solution would be an application that we only have to install. We do not want to program it all.
You can try WiX toolset with the help of WiX Tutorial. It should be quite easy to make a simple installation.
And don't forget to think about Upgrade policy: whether the installed package should be automatically updated with a newer one.
Better approach will be to use ClickOne for automatic application updates or something similar.

Windows Service Setup Project

I’m trying to create a set-up project for a windows service. I’ve followed this tutorial and many others like it but, after installing my service, I still can’t see the service. I’ve added the primary output of the service to the application directory and created a custom action to include this output on Install, Commit, Rollback and Uninstall.
It claims that it installs correctly.
Should this work? Is there anything else that I can try to get this to install?
Did you create an installer for your service? It is separate from a Setup Project.
See: http://msdn.microsoft.com/en-us/library/system.serviceprocess.serviceinstaller.aspx
You can create an Installer by right-clicking on your service's Design window and selecting Add Installer.
In my case, adding the installer was a first step as described by dhirschl's answer. I then needed to add custom actions to the setup project.
Right click the setup project/view/custom actions
then add the primary output to every folder there.
Source

Pre-requisite and Launch condition

I am having a small problem regarding pre-requisites and launch condition for setup.
For example, my setup is having one launch condition requiring "Software1" and one prerequisite installing "Software2".
So, if a system does not have both requirements "Software1" and "Software2" on installing the setup:
Is it shows the prerequiste dialog for "Software2"
Is it shows the launch codnition for "Software1".
I am observing the behaviour that I am getting a prerequiste dialog box using my setup.
Is there any way to set the order or to show the launch condition as first dialog while installing the setup?
If you are using InstallShield prerequisites in your installation, they will be installed by the setup.exe, not the MSI. Launch conditions are handled by the MSI, which will not be run until after the prerequisites are installed. Basically, this means that you can't show launch conditions until after prerequisites have been installed.
That being said, you may be able to configure the conditions on the prerequisites in such a way that the prerequisites would not be installed if you know in advance if a launch condition cannot be satisfied. The net effect of this is that the launch conditions are shown without installing prerequisites, but this isn't a really simple way to achieve this.
In InstallShield 2009, you can configure "feature prerequisites" that will not be installed until after features have been selected. In this case, prerequisites associated with selected features will be installed at the end of the Install UI sequence, or, if the installation is being run without a UI, just before the Install Execute sequence.
without more detail on what sort of installer system you're using, it is going to be hard to help. Assuming you're using the built-in stuff in visual studio, look on google for visual studio msi custom actions. I believe one of the allowable actions is to start another executable.
Assuming you're using MSI launch conditions, you cannot tell which order launch conditions will be evaluated.
If you do need to check something in a specific order, you'll need to use a Custom Action rather than a launch condition.

VS Setup Project: Uninstall other component on install

I am creating a Visual Studio Setup project. I want to un-install another component from the system from the install of my component. The other component is installed from my own setup created using Visual Studio.
Currently when I am calling the un-install of the other component from the install action of the component I get the error code: 1618 (another MSI already running).
Could anyone suggest me an alternative way to solve this problem?
If you don't need to actually run the uninstall of the other component, you could use a Custom Action to remove files/folders you intend to replace.
Using a Custom Action will force you to do all the clean up actions the Uninstaller would do for you.
Is it that you're replacing something or are you just trying to uninstall something as a result of installing something entirely different?
MSDN Custom Action Walkthrough
I have also read a few articles from Phil Wilson that have been helpful with Custom Actions:
Phil Wilson on Custom Actions
I ran into a similar problem that required several installs to run together and could find no way to run MsiExec recursively. The solution I used was to bundle the installer with a script that would run MsiExec once to install/uninstall the old package, then again to run the new installer. Clients had to run the script to install.
If you find a better way, let me know.
I think you can run uninst.exe of that program through the shell command while setup starts.....

Resources