Introduction: A Software Repackager and Deployment Engineer specializes in the preparation of silent installations which include custom configuration settings. This has traditionally been more common within larger “enterprise” environments, than in small-to-medium environments.
The role typically involves a unique slice of desktop and server automation skills, scripting, deep systems troubleshooting (logs, event logs, registry, WMI, networking, security descriptors, etc.). In addition, it requires a unique familiarity with component-level aspects, such as .NET Framework, COM and DCOM, JRE, VC++ runtimes, and truckloads of experience using command-line tools and utilities.
The following is a subset of questions we use to interview for filling a mid-level Software Repackaging and Deployment Engineer position. The pass rate is typically around 25%. The questions aimed at junior/entry level position interviewees are much easier. While some would argue the following are too obtuse and unrealistic, they are in fact relevant to every-day tasks experienced by the packaging staff I work with, regardless of the environment they work within.
1. Name the five (5) Windows Registry Hives and describe what they provide. What is special about HKEY_CURRENT_USER and how does it impact automation processes that run under the SYSTEM context?
2. Describe what each of the following command-line interface (CLI) commands can be used to accomplish: DISM, ICACLS, MSTSC, NET, PUSHD, REG, SC, SCHTASKS, WMIC
3. Name as many ways as you can to create a registry key, and set permissions on it, from within a command-line interface.
4. You’ve deployed an Application to several clients using SCCM 2012 R2. After six hours, they are still showing a status of “Waiting for content”. What is the most likely cause and how would you confirm your assumption?
5. You are going to deploy a system change using a script throughout a network. The computers are a mix of Windows 7 and Windows 8. They are not guaranteed to be at the same update/patch status level. You could use Batch, VBScript, JScript, or PowerShell. Explain what the advantages and disadvantages of each are.
6. You need to add the “.NET Framework 3.5” feature to every Windows 8.1 computer for a given department and have it done by the next morning. How would you go about doing so and what tools could/would you use?
7. A manager is asking about upgrading all computers throughout the organization from Internet Explorer 8 to 11. What would you caution them about?
8. A task is launched on a computer using its local SYSTEM account. The task attempts to download content from a share on a server within the same network and AD domain, but it fails, getting an “Access Denied” result. You can access it with any user account. What is the most likely cause and how would you resolve it?
9. You need to test a process using the local SYSTEM account context. Describe how you would do this.
10. What optional parameters would you use with MSIEXEC in order to execute a silent installation, where the only visible action is a progress bar that closes when finished?
11. Describe what a Transform is intended to accomplish. Provide an example of how you would invoke a single Transform with an installation. How would you specify two sequential Transforms in the same command line statement?
12. How would you create an unattended answer file for an InstallShield “setup.exe” installer so that you can run it silently? What is the default result and where would you typically find it stored?
13. You used a Windows Installer package to deploy a software application. You need to identify the Product GUID which distinguishes it from other applications. Where would you typically look first?
14. You can deploy software by many ways within a Windows environment. Group Policy. Startup and Login scripts. Image capturing. Task sequences. Configuration Manager deployments. Describe each of these and what they’re good and not-so-good at doing.
15. Describe a few ways you can check to see if a computer is running 32 or 64 bit Windows but only from within a command-line aspect.
16. Name the two primary repackaging methods available within AdminStudio Repackager and describe how they differ.
17. Describe the differences between a per-machine and a per-user installation.
18. Describe how Sysinternals’ “Process Monitor” (aka “ProcMon”) could assist with diagnosing an application that causes UAC to intervene when launched.
19. What is Microsoft ACT and what would you use it for?
20. One of your virtual guest machines used for testing is constantly being reverted to a particular snapshot. The VM is joined to the domain. After a few weeks, it no longer authenticates with the domain and you cannot login. What causes this and how can you prevent it from happening?