Guideline Formats and Architectures
Total Page:16
File Type:pdf, Size:1020Kb
23.09.2021 17:00:47 Guideline Formats and Architectures Format selection Based on sources provided for package creation following procedures are available: • Transformation of existing vendor MSI. • Creation of MSI by repackaging legacy installer or from the scratch. • Usage of legacy setup. • Package Virtualization (App-V/ThinApp/MSIX) General packaging best practices are given below. An original vendor MSI may not be changed. Adjustments must always be made by MST. The original MSI Databases should Vendor MSI not be modified. In exceptional cases if transform creation is not possible or fixing of vendor MSI is not possible in acceptable timeframe, the setup capture may be performed. Vendor If vendor specific customization tool (e.g. Adobe InstallTuner, Microsoft Office Customization Tool) is available for original customization tool package, it should be used. More than one If original application contains more than one vendor MSI from different vendors, the packaging task should be divided for vendor MSI from separate tasks for each vendor MSI. different vendors Advantages and Disadvantages Application Virtualization Virtualizing applications (e.g. in App-V/MSIX) can offer customers advantages, but also disadvantages: Advantages Applications are installed and uninstalled correctly There are no conflicts between applications Multiple versions of the same application can be installed in parallel Advantages when rolling out applications Applications can be assigned per user (e.g. for VDI or Citrix) Disadvantages Virtualized versions of applications are not offered by the vendor The virtualized application must be rebuilt by the vendor for each version update Sequencing usually results in loss of warranty coverage from the vendor Incompatibilities prevent App-V packages from being created There remains a mix of Classic Applications with Virtualized Applications, which must be reconciled Strategies for Application Virtualization Aggressive Application Virtualization In this strategy, the customer tries to virtualize the highest possible percentage of his applications. This gives him the advantage of being able to use his VDI or TS environment at the highest level of sophistication. Each user can log on to their thin client and have all their applications available. There is no need to have permanent virtual clients available. Case-based application virtualization Here only applications are virtualized, which make sense project-related. This strategy does not attempt to virtualize all applications in general. This could be that a set of applications need to work on VDI or need to be deployed to private devices via MSI-X. Another example might be deploying the application on the same device in a different version. Guideline Page 1 of 23 23.09.2021 17:00:47 Advantages and disadvantages of the snapshot process With the snapshot technique, the installation of an application can be recorded and converted to a Windows Installer package (msi), for example. This gives the customer all the advantages of the installer technique (repair, machines/user parts separated, advertised shortcuts, standardization), but at the same time the support by the manufacturer expires. The responsibility for the package now lies with the creator of this snapshot and can thus also trigger negative effects (e.g. functional errors, corrupt uninstallations). The snapshot usually has to be completely recreated with every version update from the vendor. We only recommend the snapshot technique if either there is no installation routine from the manufacturer or the quality of the supplied manufacturer routine is incorrect (e.g. no silent uninstall or problematic parameters). Technical explanation about the formats Classic formats Virtual formats App-X, MSI-X Universal Apps Dockers / Containers MSI, Legacy, third- App-V, Portable Hyper-V and party snapshots. Apps, Symantec App-X, MSI-X UWP Windows Container VSA, ThinApp. Registry, Filesystem Native (partially Virtual Virtual Virtual Virtual virtual through UAC) Services, driver Yes No (AppV can Services) No No Yes supported CPU Virtualization Native Native Native No Yes May require admin Yes Yes No No Yes privileges Runs on ARM or No No No Yes No Broadcom Business Store No No Yes Yes No (Azure) from Win7, Win10 OS Required WinXP and above (1607) no longer need from Win10 (1607) as of Win10 as of Win10 (1607) a license Suitable for user No Yes Yes (mandatory) Yes (mandatory) No deployment Suitable for VDI and Apps can be Complete Full manufacturer resolving installation published in the store, Application must be independence of Comments support, maximum conflicts, not always no installation compiled as UWP, no containers among compatibility compatible (e.g. conflicts, not always conversion possible. themselves, needs hardware). compatible more CPU and memory. Architecture Application and operating system There are two criteria for architectures, there is the architecture of the operating system and the architecture of the application that is to be executed. Windows architecture Operating system/application Win x86 Win x64 Win Arm Win Arm64 Windows 7/8/10 x86 OK not OK not OK not OK Windows 7/8/10 x64 OK not OK not OK Windows 8.1 arm (Windows RT) not OK not OK OK not OK Guideline Page 2 of 23 23.09.2021 17:00:47 Windows 8/10 arm64 (Surface X) OK ** OK (beta) OK OK MacOS architecture Operating system/application MacOS x64 MacOS M1 MacOS x64 (Intel) OK not OK MacOS M1 (Apple Silicon) OK ** OK ** Except drivers and hardware related programs Interfaces to OS Overview Applications have different interfaces to the operating system, which are created with the installation. These interfaces are registered to a large extent in the registry under CLASSES_ROOT. Below the individual interfaces are described. https://blogs.windows.com/windowsdeveloper/2017/04/13/com-server-ole-document-support-desktop-bridge/ Start Menu The Start menu is the most well-known entry point in Windows, where users can find their programs. The entries in the start menu were before Windows 8 completely under %ProgramData%\Microsoft\Windows\Start Menu\ stored as .lnk files. Additionally they were combined with the corresponding user directory. As of Windows 8, MSIX apps are also designated in the Start menu. Classic Save path %ProgramData%\Microsoft\Windows\Start Menu\*.lnk %APPDATA%\Microsoft\Windows\Start Menu\*.lnk Uninstall without problems Yes Change on minor update No App-V Save path %ProgramData%\Microsoft\Windows\Start Menu\*.lnk %APPDATA%\Microsoft\Windows\Start Menu\*.lnk Uninstall without problems Yes Change on minor update Yes MSIX Save path %ProgramFiles%\WindowsApps\...\appxmanifest.xml HKCR\AppX...\Application Uninstall without problems Yes Change on minor update Automatic Desktop As with the Start menu, desktop shortcuts are created using a Windows directory (%PUBLIC%\Desktop) as .lnk files, again combining the directory from the corresponding user directory. In addition, certain predefined icons such as the trashcan are added from the operating system. Interfaces to OS Page 3 of 23 23.09.2021 17:00:47 . Classic Save path %PUBLIC%\Desktop\*.lnk %USERPROFILE%\Desktop\*.lnk Uninstall without problems Yes Change on minor update No App-V Save path %PUBLIC%\Desktop\*.lnk %USERPROFILE%\Desktop\*.lnk Uninstall without problems Yes Change on minor update Yes MSIX Storage path not supported Uninstall problem-free not supported Change on minor update not supported File Transfer Associations (FTA) In Windows, file associations (file extensions) date back to DOS times. Windows recognizes file types by the extension of the file name. These extensions are defined in legacy packages via Classes_Root, in the root of the tree, they always start with a dot (.). Classic Save path HKCR\.* Uninstallation Problem-free No Change on minor update No App-V Save path HKCR\.* Uninstallation Problem-free No Change on minor update Yes MSIX Save path HKCR\.*\OpenWithProgids Uninstallation Problem-free Yes Change on minor update Automatic ProgID File links point to a ProgId in classic Windows, rather than directly to the exe. The ProgId contains information about where the program is located and what parameters should be used to start it. ProgId entries are also supported by WebBrowsers, for example the following entry is possible: txtfile://myparameter . Interfaces to OS Page 4 of 23 23.09.2021 17:00:47 https://docs.microsoft.com/en-gb/windows/win32/com/-progid--key Classic Save path HKCR\* Uninstallation Problem-free No Change on minor update No App-V Save path HKCR\* Uninstallation Problem-free No Change on minor update Yes MSIX Storage path Not supported (except compatibility) Uninstallation Problem-free Yes Change on minor update Automatic Verbs Verbs describe the context menu when "right-clicking" on a file . Mime Types The Internet Media Type, also called MIME-Type (after the Multipurpose Internet Mail Extensions specification) or Content-Type (after the name of the field), classifies the data in the body of a message on the Internet. As explained in the MIME standard, for example, an HTTP transmission tells a browser what data the web server is sending - whether it is a plain text document, an HTML document, or a PNG image, for example. In email, too, the "Content-Type" header field is used to classify the different data. https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types https://de.wikipedia.org/wiki/Internet_Media_Type Classes (CLSID) A CLSID is a Globally Unique Identifier that identifies a com class object. If