1. Basic concepts
Portable software (Portable Soft, Portable Application) refers to an application that can be placed on a mobile device and can run on any other Windows system (Portable-portable, portable; lightweight).
The portable software can be started directly from the removable device, and at the same time load the personal custom configuration, just like running on your own computer; after disconnecting the device, no personal data will be left on the computer.
According to the definition of portable software on Wikipedia, as a portable software, the following three conditions must be met :
(1) There is no installation of any kind;
(2) Personal settings must be followed by the software; this means that the settings cannot be saved using the registry;
(3) No traces are left on the running computer.
2. Why do we need portable software?
From its definition, it is not difficult to see that portable software is a ” true pure green without pollution ” software, which is more perfect than “green software”, does not leave any spam in the system, and the configuration will be saved in real time, which is convenient Putting it in the U disk to start with its own configuration at any time is also very convenient for the daily application management of our software . For example, in the case of reinstalling the system , it can achieve the purpose of “free installation and free configuration”! And because the portable software does not leave spam in the system, it can make the system often new and always strong !
3. Similarities and differences between portable software and green software
Portable software is more popular abroad, but domestically it is mainly green software. The core concept of green software is free of installation, easy to uninstall, and no pollution. This is where it communicates with portable software;
Green software can be divided into a narrow sense and a broad sense: Green software in a narrow sense is also called pure green software, which means that the software has almost no changes to the system, except for the installation directory of the software, not to write to the registry, system folders, etc To enter any information, uninstall the software by simply deleting the installation directory; broad green software means that no special installation program is required, and there are relatively few changes to the system, which can be completed manually, such as copying several dynamic libraries, importing registration This can be done directly with scripts such as tables or batch processing.
Following the division of green software, I think portable software can also be divided into narrowly defined portable software and broadly defined portable software :
Narrow sense of portable software: The three conditions mentioned above must be met, that is, free installation, configuration follow, and no trace!
Generalized portable software : two conditions can be met, that is, free installation and no traces ( that is, pure uninstallation must be achieved )!
It can be seen from the above that green software in a narrow sense can meet the concept of portable software; green software in a broad sense does not fully meet the requirements of portable software. However, although sometimes it is necessary to operate the registry and file system, as long as the aftermath work is done, it is not used in the software. It can be completely and purely uninstalled , and is also a portable software in a broad sense. Both portable software and green software can also include the process of streamlining software.
Therefore, if the degree of green portability of the software is divided, the result is roughly as follows: portable software in a narrow sense ≥ green software in a narrow sense> portable software in a broad sense ≥ green software in a broad sense .
4. How to achieve software portability
In order to achieve the portability of the application, there are generally the following ways:
(1) Portable software development
The design program does not use the registry to store configuration information and does not generate unnecessary files in other directories than the program directory. The configuration information can be saved in the ini file or other similar configuration file in the program directory , which can ensure that after the software is completed, it will not leave any residual information on the target computer, and can enable the configuration information to follow the removable device. Software while moving synchronously.
(2) “Secondary processing” portable software
“Secondary processing” here refers to analyzing the storage location of the configuration according to the operating characteristics of the software, and then writing a Loader or Launcher program to be responsible for the restoration and storage of the configuration to achieve portability ! NSIS is a very good tool for writing Loader or Launcher! The portable software provided by the well-known foreign portablesoft.net website are all written by NSIS Launcher! I also use NSIS to write the Launcher program!
(3) Software virtualization technology
This is a strategy to achieve software portability in a Windows environment. The so-called software virtualization technology is to create a buffer for the software to buffer the Dll runtime library. This buffer application layer can intercept any non-portable file system calls and registry calls and redirect these calls to the directory where the program is located. Therefore, software virtualization technology can achieve software portability without modifying the software source program. The most commonly used virtualization tool is Thinstall!
5. Production of portable software
If the concept of portability is implemented when the program is developed, such a program is perfect and no secondary processing is required; therefore, the production of portable software refers more to the application of software virtualization technology, that is, secondary processing of application software As portable software, it is best to implement portable software in a narrow sense. If it does not work, it must also meet the requirements of broad portable software!
The free installer creation tool NSIS (Nullsoft Scriptable Install System) is a very simple and easy-to-use, high-efficiency portable software creation tool. Most of the portable software provided by this site is implemented through NSIS.
The most used software virtualization tool is Thinstall . Thinstall is a professional software virtualization tool. However, Thinstall is now acquired by the well-known Vmware company and renamed as Vmware ThinApp. If you need to know or download, please visit here ; VMware ThinApp is more used as a single file production tool, or try the free virtualization tool Cameyo .
Single-file software is also popular now . In fact, single-file software is not completely equivalent to portable software, but single-file software tends to be more portable software; now the concept of single-file software is not very unified. If single-file software is good, it is also excellent. Portable software; but regardless of the form of implementation, the purpose is to facilitate use and are welcome!
Although portable software is to facilitate the use of software on removable devices, its concept is more suitable for daily computer maintenance and application ; whether it is green software or portable software, our purpose is to create the purest and greenest system through them .
Of course, it is impossible to realize all software greening and portability. We only have to pursue software greening and portability as much as possible, so that more software “has nowhere to go, no shadow”, “has also come in a hurry, go “Hurry!” And this is what I have been working for: pursuing green portable software and creating a clean and clean system! Based on this concept, I will present you my own elaborate green software and portable software, and look forward to communicating with you!