Windows Tech Support

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Sunday, 5 February 2012

Repackaging: Application Deployment Types

Posted on 07:15 by Unknown
It might seem odd to say "what kinds of software" with respect to "repackaging", but there are some very important distinctions.


Deployment-Ready Applications

A "Deployment-Ready" application is one that supports silent installation as well as command-line customization options without the need for additional work or tools.  These are, by far, the best and simplest types of applications to deploy to the masses (aside from deploying shortcuts for web applications).  These are usually .MSI packages, however some .EXE installers will do this as well.

Just as important however is that they also provide a silent UN-install capability.  However, due to the nature of journalized or manifest-oriented installation technologies (like Windows Installer), items which are added or modified after the initial installation are typically left behind after an uninstall.  This is where it helps to wrap uninstalls in script code to handle additional clean-up tasks.

The few situations that require additional work usually involve adjusting security permissions on files, folders and registry keys, but this can be handled easily.  Options include script wrapping and Microsoft Application Compatibility Toolkit (ACT) shims.

Transform Applications

A "transform" application is a logical layer of customization added to an existing .MSI package.  These are relatively easy to build and deploy, and only (very) slightly more work than a Deployment-Ready application.  You can use tools like Wise Package Studio (soon to be defunct), Flexera InstallShield, or the ancient Microsoft utility: Orca.  The net result is a .MST file which contains additional objects and properties that combine with the base .MSI during the installation process.

What a Transform won't do:  Allow you to bundle security modifications to files, folders and registry keys.  For that you either need to repackage again, or use a script wrapper.

Client-Sever Applications

The term "client-server" is pretty old, but in this context I'm referring client-side applications which require specific configuration or activation tasks to be performed on the server-side in order to make the two work together.  This may involve one of the other mentioned application types (deployment-ready, transform, proxy) along with additional tasks to make it all work seamlessly for the end result: an unattended deployment.

Proxy Applications

A "proxy" application is one that (don't laugh) doesn't really exist.  Many of you are probably familiar with this situation/scenario, but just in case, let me explain...

The word "proxy" means "to authority or power to act for another" (Merriam-Webster).  In more contemporary terms (incorporating the long-standing use of such things as "proxy servers"), I would say it's more broadly defined as "an effective substitute".  That's just me and I'm obviously not an English professor.

In many business environments, users tend to apply labels to things based on what the eventual use is, or will be.  For example, you might have a Microsoft Access database with VBA code, forms and reports built in, and this "application" is used to order parts for a particular project or program called "TARFU".  When you have a discussion with any of the users, they will almost certainly call it the "TARFU app", not the "Access database app for TARFU".  So when you are asked to deploy it to users, they will expect to see a desktop (or start menu) shortcut named "TARFU" or something similar.

That's one example, but not really the one I have in mind.

Sometimes the application "TARFU" isn't really an application at all, but rather, a collection of files and components that are required in order to access and utilize a particular web site used for tasks related to "TARFU".  Or, not to wear out the references to Access, maybe it's just the Microsoft Access Runtime with an accompanying database file.  In either case, you would wrap all the necessary pieces up and give them a name.  But what about the listing in "Add or Remove Programs" (ARP)?  What about seeding the installation targets with the required things to support inventory collection and reporting?  How will you identify the installation targets months later?

For example: If you deploy the Access Runtime and a database file, you won't likely see anything called "TARFU" in your inventory reports.

The solution is simple: wrap it with a new name.  The best choice for this would be to repackage it into a new .MSI and force the labeling as "TARFU".  This would not only create the necessary ARP entry, but solve the challenge of inventory reporting and, just as important, support an easy uninstall capability.

Complicating Factors

There are many potential complicating factors that can cloud the simplicity of a deployment. These are the buzz kills of software deployment.  The party poopers.  Among them are...

  • Device driver installation and post-configuration
  • Special activation tasks
  • Per-user installation tasks that need to be applied to all users
  • Removing previous versions of the same application before installing the new version
  • Importing settings from a previous version into the new version
  • Stopping services or processes at specific points during the installation
  • Dealing with unusual COM and USB port interfaces
  • Seeding files in order to pre-configure security permissions
It can be challenging, both in a good way and in ways that make you scream in anger and throw things.  I've seen packagers call vendors on the phone and vent their anger directly at them.  That's probably the most therapeutic and productive (the vendor gets a taste of what their customers don't like).

What Does This All Mean?

Keep in mind that I never promised to make a point here.  I'm just making broad brush strokes over a very intricate and convoluted artful science.  Ultimate however, what this could be summed up as, is to say that whichever of these types you're handed will generally dictate the level of effort, and hence the time, required to complete the deployment.  And this is what drives most Project Managers completely insane.

Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in applications, config manager, installshield, network administration, sccm, software deployment, software packaging | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Voting Time: Help Me Out?
    I need to get a better view of how I should manage this blog if I'm going to keep at it. I'd like to know how you typically discover...
  • A World Without Competition
    Try to imagine what things would be like today had there not been fierce competition in certain key parts of our world.  I’ll give you some ...
  • Book Update
    I posted some gibberish a few weeks ago about another book project.  Well, I'm getting close to wrapping it up, so I thought I'd go ...
  • Cost
    Software technology, like any technology, provides a means to solving problems.  Some big. Some small.  Some that help.  Some that hurt.  An...
  • Windows 7: Default User vs All Users
    A lot of confusion seems to occur with understanding the difference between the "Default User" profile, and the "All Users...
  • Time to Give Props
    With the ever-expanding volume and breadth of information on the Internet today, it's easy to focus on my own thoughts, experiences, ide...
  • Table of Contents (Preliminary)
    Here's the preliminary Table of Contents for my new book "The AutoCAD Network Administrator's Bible - 2013 Edition".  I...
  • The Nicest IT and IT Vendor Folks I Know
    I've ranted many times before how it's unfair to "hate" an entire company, without providing a rationale for it based on s...
  • Windows 8
    Two small, yet irritating things, that I hope Windows 8 addresses with respect to Windows 7: Being able to put the Recycle Bin in the S...
  • Stupid Assumptions
    After years of watching sci-fi TV shows, movies, etc. it's finally come to a point where even the so-called brightest of our authors and...

Categories

  • a
  • activation
  • active directory
  • advertising
  • agile
  • agility
  • amazon
  • american
  • apple
  • application virtualization
  • applications
  • art
  • articles
  • asp
  • augi
  • authors
  • autocad
  • AutoCAD Autodesk
  • autodesk
  • autolisp
  • automation
  • automotive
  • backups
  • batch
  • beer
  • beta
  • blackberry
  • blogs
  • bongloads
  • book
  • books
  • Books writing kindle amazon technology business projects
  • browsers
  • business
  • cad
  • career
  • certification
  • chrome
  • city government
  • civilization
  • cloud services
  • cmd
  • cmmi
  • comedy
  • command
  • community
  • computers
  • conferences
  • config manager
  • consultants
  • consulting
  • contracting
  • cranium drainium
  • crapware
  • culture
  • data center
  • data mining
  • databases
  • deployment
  • directx
  • DLL
  • domains
  • dumb
  • earth
  • economy
  • editor
  • education
  • election
  • elections
  • employment
  • engineering
  • entertainment
  • environment
  • error monitoring
  • events
  • exchange
  • facebook
  • family
  • firefox
  • flexnet
  • fud
  • fun
  • funny
  • games
  • gary vaynerchuk
  • gmail
  • google
  • government
  • group policy
  • hampton roads
  • health
  • history
  • holidays
  • home
  • html5
  • humor
  • hyper-v
  • iis
  • industry
  • infrastructure
  • installation
  • installshield
  • internet
  • internet explorer
  • interviews
  • jobs
  • jtbworld
  • kindle
  • kixtart
  • lab setup
  • languages
  • ldap
  • learning
  • legal
  • licensing
  • life
  • lifecycle
  • linux
  • lisp
  • logging
  • management
  • manufacturing
  • marketing
  • markets
  • mdop
  • mdt
  • medical
  • messaging
  • microsoft
  • microsoft access
  • military
  • mountains
  • movies
  • mozilla
  • music
  • nature
  • network administration
  • news
  • nook
  • nothing
  • office
  • open source
  • openoffice
  • opera
  • operating systems
  • oracle
  • osx
  • packaging
  • patches
  • people
  • photos
  • podcasts
  • policy
  • politics
  • powershell
  • predictions
  • process automation
  • products
  • programming
  • projects
  • psychology
  • publishing
  • rail
  • reading
  • registry
  • religion
  • reporting
  • reviews
  • rsat
  • rss
  • safari
  • safety
  • sales
  • satire
  • sccm
  • scheduling
  • science
  • scripting
  • search
  • security
  • servers
  • services
  • sharepoint
  • shopping
  • sms
  • social stuff
  • society
  • softgrid
  • software assurance
  • software deployment
  • software development
  • software packaging
  • sony
  • speaking
  • sports
  • sql express
  • sql server
  • statistics
  • Statistics news marketing
  • steve jobs
  • stories
  • stuff
  • stupidity
  • symantec
  • sysinternals
  • system center
  • systems architecture
  • t-sql
  • taxes
  • technet
  • technical support
  • technology
  • TED
  • ted talks
  • testing
  • textpad
  • thoughts
  • traffic
  • training
  • transportation
  • travel
  • troubleshooting
  • tutorials
  • twitter
  • ubuntu
  • unattend
  • unemployment
  • updates
  • upfront ezine
  • utilities
  • vacation
  • vba
  • vbscript
  • video
  • virginia
  • virginia beach
  • virtualization
  • visual lisp
  • vmware
  • vmware server
  • voting
  • war
  • weather
  • web
  • web browsers
  • web development
  • web sites
  • windows
  • windows 7
  • windows live
  • windows server
  • windows server 2012
  • windows8
  • winpe
  • wise
  • wmi
  • work
  • writing
  • ws08
  • wsus
  • wwa
  • x64
  • xml
  • ze frank

Blog Archive

  • ►  2013 (37)
    • ►  October (1)
    • ►  September (5)
    • ►  August (8)
    • ►  July (2)
    • ►  June (4)
    • ►  May (4)
    • ►  April (2)
    • ►  March (2)
    • ►  February (8)
    • ►  January (1)
  • ▼  2012 (120)
    • ►  December (14)
    • ►  November (12)
    • ►  October (10)
    • ►  September (7)
    • ►  August (3)
    • ►  July (2)
    • ►  June (6)
    • ►  May (6)
    • ►  April (20)
    • ►  March (16)
    • ▼  February (18)
      • Cost
      • Making a Poor Man's Web Service
      • Gazoline or Vazoline
      • Software Repackaging: Why Bother?
      • Autodesk Revit 2012 and Configuration Manager 2007...
      • Voting Time: Help Me Out?
      • A Missing Link of Software Life-cycle Management, ...
      • Rant No. 42
      • Time to Give Props
      • The Next Milestone
      • Choosing the Right Data Repository
      • Software Deployment Basic Basics: Uninstalls
      • Repackaging Quiz
      • Blog Status Update
      • A Basic Package Scripting Exercise
      • Amazon vs Nook vs Me
      • Repackaging: Application Deployment Types
      • Book Sales Update / What Readers Want
    • ►  January (6)
  • ►  2011 (343)
    • ►  December (15)
    • ►  November (23)
    • ►  October (27)
    • ►  September (35)
    • ►  August (29)
    • ►  July (17)
    • ►  June (23)
    • ►  May (20)
    • ►  April (38)
    • ►  March (61)
    • ►  February (54)
    • ►  January (1)
Powered by Blogger.

About Me

Unknown
View my complete profile