Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create windows installer [closed]

Basically we are releasing our changes/fixes in the form of manual installer (Windows powershell script). It will install specified .dll and SQL script files at particular locations by reading config file values (We will configure .dll & Sql script locations in this file). The same powershell script has uninstallation code to rollback particular chage set.

Is there any option or mechanism to create Windows installer for above requirement?

like image 443
Ramesh Avatar asked Apr 03 '18 07:04

Ramesh


People also ask

How do I stop Windows Installer from running in the background?

To stop the process, you must search for its process in the Task Manager. Press "Ctrl" + "Shift" + "Esc" on your keyboard to open the Task Manager without any intermediate screen. Click the "Processes" tab. Scroll down to "msiexec.exe," right-click it and click "End Process." Try running another installer now.


2 Answers

Short Version: Lots of answers already - I'll primarily just add some links to existing answers. Here is a previous short answer of mine on the topic.

Higher "glanceability": The above answer features a simpler format with a list view of the most important current deployment tools. In a rush? Test these, chose one. Below are more details and some further "discussion".


Deployment Tools

There are many tools available to create create installers / setup.exe files of various kinds. Here are some links to brief descriptions of most of them:

  • Non-MSI installer tools: http://www.installsite.org/pages/en/tt_nonmsi.htm
  • Windows installer tools: http://www.installsite.org/pages/en/msi/authoring.htm
  • Sys-admin tools for deployment: http://www.installsite.org/pages/en/msi/admins.htm (for completeness, not really relevant for you)
  • UPDATE: On the topic of multi-platform installers: Does an universal cross-platform installer exists?

I would recommend to go for MSI. What specific tool to use is less obvious. See last section below for some links with descriptions of strengths and weaknesses of different tools.


Auto-Update?: Various ways to create auto-updating packages.


Why Choose MSI? The Key Benefits of MSI:

MSI (Windows Installer) is the standard for corporate deployment since it offers a number of corporate benefits of major significance compared to previous installation technologies. The benefits center around reliable remote management and standardization - crucial corporate deployment concerns.

In brief the most important, specific benefits are probably:

  1. Reliable silent running (standardized & completely suppressible GUI)
  2. Implicitly available uninstall (a nightmare when dealing with legacy setups)
  3. Transparency (installer's semi-transparent and inspectable nature - except compiled CAs)
  4. Elevated installation rights (no messy temporary admin rights - the install runs elevated via Active Directory advertisement, group policy or remote administration. Some qualifications here - only part of an MSI installation sequence runs elevated and the installer itself must be correctly authored for this elevated rights concept to work correctly). More info.
  5. Standardized command line (no hunting for "secret" switches)
  6. Administrative installation (file extract - essential for corporate repackaging)
  7. Verbose logging (helpful and verbose indeed :-) )
  8. Standardized package customization (transforms - database fragments)
  9. Rollback support (can undo changes for failed installs)
  10. Inventory (management and reporting: full registration of what is installed and where)
  11. Active Directory / GP integration

Altogether this yields MSI's overall benefit: reliable, remote management of deployment for busy system administrators in large, corporate environments. Crucial benefits, despite the technology's complexity and quirkiness.

Many find the technology challenging to deal with - there are some common pitfalls (and I wrote a very odd, ad-hoc description of some MSI anti-patterns towards the bottom here - out of context for the question, but there it is - sometimes things get written in the spur of the moment to the surprise of whoever is writing too - great it is not, just pragmatic details. Same goes for the first link).

The linked serverfault answer (above and here) features a much more elaborate description of these corporate MSI benefits along with some challenges to be aware of.

The same serverfault question has a second answer describing common design errors in MSI files. A really messy "brain dump".


MSIX / AppX

I should point out that the new platform for packaging from Microsoft now is MSIX based on the AppX application framework. However MSI has high penetration in the corporate deployement world, so it remains to be seen how long MSI will be relevant. All established deployment tools are working to support MSIX and AppX and other deployment technologies (also virtualization).

Slipping in some links:

  • Auto-update packages / MSIX and other formats
  • https://www.advancedinstaller.com/msix-introduction.html

AppV

And in the real, corporate world AppV (application virtualization / application streaming) has turned into a common deployment solution (Tim Mangan's blog).


Choosing an MSI Tool

Industry leaders for MSI creation are generally Advanced Installer, Installshield, PACE Suite, and the open source solution WiX (with its commercial branch Firegiant) - which you seem somewhat familiar with.

I'll just give you some links to previously written answers with some opinions and facts in an indiscreet mix about these different tools - it is intended as a "best effort" to help people decide what tool they need, without claiming to be "right". This is always a dangerous endeavor - years of experience mean acquired knowledge, but also bodes for acquired bad habits and quirks. What results are honest opinions from a flawed professional who can only offer a willingness to help:

  • What installation product to use? InstallShield, WiX, Wise, Advanced Installer, etc - a subjective attempt at an objective evaluation of the strengths and weaknesses of the currently established deployment products.
  • Quick start for WiX - a messy little answer with suggestions on how to hit the ground running with WiX that has been upvoted more than usual. It must have been helpful. I like the "hello world" style sample I link to on codeproject which other have mentioned as well.
  • Windows Installer and the creation of WiX (quick and unofficial overview of how WiX came about and how it works. Also a part on "the unavoidable complexity of deployment").
  • How can I compare the content of two (or more) MSI files? (some brief information on the MSI format, how to inspect MSI files and retrieve and inspect the content in them using free tools).
  • How do I avoid common design flaws in my WiX / MSI deployment solution? (some well-meant but messy advice on how to avoid problems in your MSI-based deployment solution).
like image 71
Stein Åsmul Avatar answered Oct 19 '22 14:10

Stein Åsmul


I prefer Inno Setup because it is free, robust, and has the features we need.

http://www.jrsoftware.org/isinfo.php

like image 4
Bruce Avatar answered Oct 19 '22 13:10

Bruce