Windows - Software Packages

In Windows, software is usually packaged as a dot exe or executable file. ​

Executable file: A file containing instructions for a computer to execute when they’re run,  like copy this file from here to here, ​install this program or more generically perform this operation

  • They also include things like text or computer code images ​that the program might use and potentially something called an MSI file.
    • Microsoft Install Package(.msi) and MSI files: Microsoft Install Package is a file extension used to guide a program called Windows Installer in the installation, maintenance, and removal of programs of the windows operating systems. MSI files are a combination of of databases that contain installation instructions in different tables along with all the files
      • contains an installation database, summary information, and data streams for each part of the installation
      • The .msi file may also include internal source files and external source files needed for the installation

So when would you use an MSI file and the Windows installer? ​And when would you use an executable with a custom installer packaged in ​something like setup dot EXE?

  •  if you want precise granular control over the actions Windows ​takes when installing your software, you might go the custom installer route. ​
    • This can be tricky though, especially when managing things like code dependencies
  • On the flip side, using the Windows installer guided by an MSI file ​takes care of a lot of the bookkeeping and set up for you
    • has some pretty strict rules about how the software gets installed

Windows store: A Windows store is an application repository or warehouse where you can download and install universal Windows platform apps

APPX: An APPX is another way to package contents of a file to act like a unit of distribution

But what about installing software from the command line, and ​why would you need to do this in the first place?  ​Installing executables from the command line can be handy in ​lots of IT Support scenarios including automatic installations.  -  ​You might want to write a script or ​use a configuration management tool to install some software automatically ​without needing a human to click buttons in an installation wizard

Running EXE files from the command line is pretty simple.  ​You open up a command prompt or PowerShell, ​change into the directory where the executable is and type in its name.

  • You can also just type the absolute path of the EXE from ​wherever you are in the file system, like this, ​C:\Users\cindy\Desktop\hello.exe. Pasted image 20260622215726

Pro tip, try using the slash question mark parameter when running a package from ​the command line to see what kinds of sub commands the package might support. ​If the package doesn’t have any help related options, ​your best bet is to check out the vendor’s documentation.

Software installation package, update package, or hotfix package created with the Microsoft Self-Extractor, can be executed using the following command lines: 

  • /extract:[path]: Extracts the content of the package to the path folder. If a path isn’t specified, then a Browse dialog box appears.
  • /log:[path to log file]: Enables verbose logging (more detailed information recorded in the log file) for the update installation.
  • /lang:lcid: Sets the user interface to the specified locale when multiple locales are available in the package.
  • /quiet: Runs the package in silent mode.
  • /passive: Runs the update without any interaction from the user.
  • /norestart: Prevents prompting of the user when a restart of the computer is needed.
  • /forcerestart: Forces a restart of the computer as soon as the update is finished. You can always type /?, /h, or /help from the command line to view these options.

The app packager used in the Windows Software Development Kit (SDK) and Microsoft Visual Studio includes a program called MakeAppx.exe

  • MakeAppx.exe is a tool that creates an app package from files on disk or extracts the files from an app package to disk.
  • For Windows 8.1 and higher, this program can also create and extract app package bundles.
  • primarily used by software developers.

The Microsoft Store, included in the Windows OS, is the primary source for apps, games, and videos in Windows.