Installing an application requires attention to hardware and software requirements. In this video, you’ll learn about CPU types and requirements, memory specifications, distribution methods, ISO images, and more.
When you first install an operating system, you have the bare minimums of a computing platform. To really enhance the capabilities of your system, you’ll probably want to install some applications. And these days, you can find applications on a dedicated app store, or you can download them directly from a website and install them in your operating system.
But of course, not every system can run every application. We have to make sure that we’re using the correct operating system, perhaps even the right version of the operating system. We have to make sure we have enough memory, storage space, and other resources. And there are a number of considerations that are important to keep in mind when you’re planning to install an application.
First, let’s talk about the operating system capabilities itself. We often put operating systems into one of two categories, either a 32-bit operating system or a 64-bit operating system. And usually, this determination is based on the processor type that you’re using on the system.
A legacy system might be running a 32-bit operating system, but most of our modern computing systems are going to be 64-bit systems. And as you’ve already seen, Windows 11 only provides a 64-bit version of the operating system. There is no 32-bit version of Windows 11.
There are a number of reasons for this move from a 32-bit operating system to a 64-bit operating system, but one of the most compelling reasons is its ability to store and retrieve information from memory. Your operating system uses these memory addresses to know where to store information and then where to retrieve that information.
And with a 32-bit operating system, you can store approximately 2 to the 32nd power of individual address spaces. This means that there are about 4 billion values available to choose from. If you’re looking at a 64-bit operating system, those operating systems can store 2 to the 64th power of values, that is, about 18 quintillion values.
This means that 32-bit operating system can reference approximately 4 gigabytes of memory space, but a 64-bit operating system can reference approximately 17 billion gigabytes of memory space. It would be very unusual, if not impossible, to find a computer these days that could store 17 billion gigabytes of memory on its motherboard, but certain operating systems can certainly support large amounts of memory space with the 64-bit OS. You need to check the documentation of your operating system to determine what the maximum is for that OS.
Not only is there a difference in operating systems between a 32-bit operating system and a 64-bit operating system, there’s also differences on the type of software you would install on those systems. For example, if you’re installing a hardware driver, that hardware driver needs to be specific to the OS version. So if you’re installing this on a 32-bit operating system, the hardware driver also has to be a 32-bit hardware driver. The same thing applies for 64-bit. If you’re running a 64-bit OS, you need 64-bit hardware drivers.
If you’re not sure what type of operating system you’re using, you can always go to the About page inside of Windows that’s under System, About. And inside that view, you can find that it will tell you how much memory is configured on this system, what type of processor you’re running, and it will tell you the system type. In this particular example, it is a 64-bit operating system using an x64-based processor.
64-bit operating systems are also more flexible than 32-bit. For example, a 32-bit operating system cannot run 64-bit applications. However, a 64-bit operating system can run both 64-bit applications and 32-bit applications. So if you are transitioning from a 32-bit OS to a 64-bit OS, you may still be able to run your older 32-bit applications.
Windows tends to store these different applications in different folders. If you look under your Program Files directory in Windows, you’ll see that 32-bit apps are stored under Program Files (x86), and 64-bit apps are simply stored under Program Files.
There can also be large differences between the video capabilities on one system to another. Many systems have the graphics capability built into their existing central processing unit, or CPU. so your CPU and your graphical processing unit are on the same physical chip on that motherboard. This allows you to save power, save space, and you don’t need additional technology in your computer just for graphics. We refer to this combination of a CPU and a GPU as integrated graphics.
But there may be times when you need to use more advanced graphics capabilities. You might be doing 3D modeling, or you might be doing some type of video editing. In those situations, it might be worthwhile to have a dedicated graphics card, like the one you see here. This is a discrete graphics card, and it’s usually installed separately inside of your desktop computer.
So when you’re planning to install a new application, make sure you check the graphics requirements and see if the built-in, integrated graphics will work, or if you’ll need some type of external, dedicated graphics card.
One important resource you’ll need when running these new applications is how much memory will be required. Most applications will provide you with a hardware requirements list for the application, and it will tell you how much memory you need to have free in that system to be able to use this particular app.
This is a relatively important resource, because if you don’t have enough memory, this application is either going to perform very poorly or not at all. So make sure that you have plenty of memory available to be able to run the application that you plan to install.
Also keep in mind that the requirements for the application are just for the app itself, not the operating system, and not any of the other programs that you’re running simultaneously. It’s often good to check Task Manager to see how much free space is currently available in your system. And if you find that it’s getting close to the maximum, you may need a memory upgrade to be able to run that application.
Some applications require a CPU with plenty of processing power, so there may be requirements on the speed of the CPU that you’re using. This is usually a measurement on the processor itself that is measured in gigahertz, or GHz. One hertz is equal to 1 cycle per second, so 3.50 gigahertz would be the same as 3.5 billion cycles per second.
This speed value is a broad measurement. As we’ve already seen, some CPUs have additional capabilities that go beyond how fast that CPU happens to be. For example, we described integrated graphics and how the integrated graphics and the CPU are all on the same chip. But if you’re trying to determine the minimum speed that you’ll need from a CPU to be able to run a certain application, this becomes a good value that you can use, along with the other resource values required for that app.
And as you look into the details of these applications, you’ll find that these measurements for CPU speed will vary quite a bit. For example, for word processing, you may find that there is a very minimum requirement for CPU speed. But if you’re planning to install an application for video editing, it may require a CPU that has much more processing power.
There are many different ways to license applications. For example, if you’ve installed a Windows application or operating system, it may have asked you for a license key to be able to unlock that particular app. With higher-end applications, you might see that this is not a license key that you would type in, but it is a physical hardware token that must be connected to that computer.
This ties the application to this physical hardware token plugged into a USB interface. When you launch the application, it looks for this USB hardware token. And if that token is not connected to your computer, the application simply won’t run. We tend to see this type of licensing with applications that tend to be relatively niche and have a very high cost per seat. This allows the application developer to ensure that only people who have paid for this software can rightly use it, because they’re the ones that have the physical hardware token.
When you install an application, it often asks where you would like to store this information. Some applications are relatively small and some applications take up a lot of storage space, so you’ll need to look at the requirements for that
Application, and you’ll need to check how much free space you have on your storage drives. You may find that most of the time, applications have plenty of space to be able to install themselves and run properly on a system, but there might be specialized applications that use very large databases or store large amounts of data. And in those situations, you may want to pay close attention to the requirements from the application developer to make sure that you have enough storage space on your system to install and use this app.
Over the years, we’ve started to move away from physical distribution of applications and simply provide those applications as a downloadable product over the internet. This makes it very easy to install from a centralized app store or directly from the product manufacturer’s website. When you are installing an application, you are putting someone else’s code on your computer. So there is a level of trust that you need to have with the program that you’re installing.
For that reason, we recommend not installing applications from a third party, but instead, installing those apps directly from the software developer. In the past, we used physical media to install our applications, so we used things like optical media, like CD-ROMs or DVD-ROMs. And most recently, we’ve used USB drives. And if you don’t have connectivity to the internet from your computer, you may still need some physical media just so you can plug in a USB drive and install that application.
And there may be times when your computer does not have direct access to the internet. For example, in a data center, you may find that certain machines do not communicate directly to the internet. So in those situations, you may need to install the application setup files on a separate piece of media, like a USB drive, and then use that USB drive as your installation source.
Often, the installation for an application is a single executable file that runs through an installation program, but you may find more complex software, like operating systems, are distributed in a different format, known as an ISO file. This is a disk image that contains all of the files, separated into different directories, into its own file system inside of this ISO image.
The actual file system on this ISO file is an ISO 9660 file system, and the term ISO file is based on the standard that was created by the International Organization for Standardization. And if you were to mount an ISO file in your operating system, it doesn’t simply display a file name with an ISO extension. It instead opens up the image to show you all of the files and folders contained within that single ISO file.
We’ve also taken this idea of images and applied it towards an entire storage drive. So we can create an image of one operating system, and then use that image to create additional clones of that operating system in our environment. This makes it very quick to be able to deploy multiple systems, because we’ve created a single base image that contains the operating system, all of the necessary patches, all of the applications required by the company, and any specific configurations for your network.
When you then install that image on a separate system, you’ve now created an exact duplicate of that original system. One challenge you have with images is that the image itself has been configured for a particular type of hardware, and if you install this image on a system with identical hardware, it will work seamlessly. But if you install that image onto a system that has very different hardware, you may not have the hardware drivers required to make that system work properly.
One scenario where the hardware is identical every time is a virtual machine, so using an image to be able to easily deploy a VM makes for a very quick installation process with very little configuration required. This is the way that most companies will deploy new systems or replace a system that happens to become damaged, lost, or infected with malware. They’ll simply remove the computer, put a new one in place, apply the image, and minutes later, you’re up and running on a brand-new system.
On your home computer, you may install new applications all the time, and whenever you have a problem with an application, you simply uninstall it and continue working normally on your home computer. But in a business, we have to be very careful about what applications we’re installing and what impact it would have by installing that app.
Keep in mind that an application that’s being installed has exactly the same rights and permissions as the user who’s currently logged in, so any files on the local system, any shares that are created on the network, or any access to any other resources on the network are also available to the application that you’re installing.
This also means that an untested application could potentially cause problems, and it could affect any of those resources that the user has access to. You may have even run into situations where you’ve installed a new application, or you’ve upgraded an existing application, and then suddenly, the application is no longer working.
Or perhaps the application used to run very efficiently, but now, you’re noticing that the application tends to lag and slow down. Or once you’ve installed the application, you’ve noticed that some of the previous documents you were working on are no longer available on that system because they were overwritten during the installation process.
This is one of the reasons that most companies will test applications in a test lab or in a sandbox before deploying those applications into production. Of course, all of our systems are connected to the network, so any application we install will also have access to all of those internal services across the network.
We also have to keep in mind that these applications are accessing data files that may be on a user’s local computer, or those data files may be over the network. That means the rights and permissions for those file shares becomes important, because we don’t want the application accidentally deleting data that it should not have access to.
Most of the time, an application upgrade tends to be very similar to the previous version. There’s not a lot of differences between the older version and the most recent version. But I think we’ve all seen situations where we’ve upgraded an application, and the user interface has a number of very different changes inside of it.
When you’re deploying to a single computer at home, that might not be a huge issue. But when you’re deploying this application to hundreds or even thousands of people across an enterprise, one single change to the application can have a dramatic effect on the efficiency of the company.
There’s usually a workflow and a process in place for most organizations, and when the application changes, it may also require a change to that workflow. That change may take time to document and make sure it’s working the way you would expect. And that’s another reason why testing these applications before deployment can be so important to an organization.
And of course, sometimes, installing an application or upgrading an existing application causes your entire system to fail. There are, of course, many documented cases where an upgrade to an application or an operating system causes the entire system to fail, so you need to be very careful about how you perform these applications and what the recovery process would be if you run into a problem. These types of problems can create significant financial issues for an organization, which is yet another good reason to test all of these applications before deployment.
