MarcEdit 7.5 Installer Questions

Hi all,

As I continue to refine the Installer for 7.5 – I had a couple of specific questions.

How the installer works now


When the installer first runs, the first step is a dependency evaluation.  MarcEdit requires the following dependencies to run the core program:

  • .NET 5.0 Desktop Runtime (32 bit or 64 bit/32 bit)
  • If one of these dependencies are missing, the program has these runtimes embedded in the installer and will attempt to install the dependency.  To install the dependency, MarcEdit requires Admin permissions
  • After dependencies are installed, if a user selects by user install, the program will install the application with user permissions and will *not* install COM components.  If installed for all, will require an admin to install, and COM objects *will* be installed.
  • If the OCLC plugin is selected, then admin install will need to be used to install the OBDC dependencies.

My Questions


  1. Because of the .NET 5.0 Desktop Runtime, there are dependencies that require Admin permissions to install the program.  Two questions come out of that.
    • Right now, I’ve removed the pre-req install dialogs and just prompt for install of the dependencies.  I find the reduced dialogs desirable; but I’m wondering if this is true for others.  If more information is better, I can put these dialogs back.
    • Do we need a true User Permissions only installation?  There is a way to do this.  I can publish a build that “freezes” the framework files into the application folder which would then allow for a truly, user only build.  It would be a big installer (~350 MB); but I could certainly do that.  That would absolutely create a fully, user only install without the need to do any admin installation (it would also remove the OCLC plugin option in the installer since that *must* have admin permissions to install (it’s a system component that is installed).
    • Currently, the installer on 64 bit systems will install both the 32 and 64 bit runtimes in order for COM functionality to work.  I could pull out the COM installation as a “feature” in the installer, and then change the “requirements”  It would work like the OCLC plugin option – and allow users to go back to the installer and modify the install to add these features as necessary.
  2. COM automation has long been something MarcEdit has supported – which is why I’ve been working hard to make sure this continues in 7.5.  I’d implemented this early on but didn’t capture bitness because at this point, all my code development and software I personally use is 64 bit.  I’ve started to either retire or find replacements for 32-bit applications.  I’d like to understand how much automation is occurring.  Some things I could consider doing:
    • For users, activate COM for users only (I can do this manually in the registry – I’m not now, and Microsoft’s official position is, they’d prefer not – but I could do this pretty easily as the user Hive doesn’t affect the local system)
    • For COM support, bitness is important.  I could create install options to allow users to decide what COM they want to support (all, none, system type) which then changes what dependencies are required for installation.
  3. How is the unified installer working for people?

    So, from my perspective, a single installer makes my life a lot easier.  It’s easier for me to track, to build, and to test.  When I was building 4 installers, the install process was taking me an extra 3-4 hours due to testing as I had to maintain a significant number of VMs within my infrastructure to test a larger number of install/update scenarios.  A single build simplifies some of that.  I can consider some different build types – but that work definitely makes the management process a bit more difficult on my end.  But at this point, I’m looking for feedback from the community around what is easier as the goal is to make the install/update process as easy as possible as again, ensuring the program remains updates also makes my life easier as it helps when questions come up since I’m primarily testings/providing solutions using the current version of the application.

Thanks for the feedback,

–tr


Posted

in

by

Tags: