Contexts 3 6 2 – Fast Window Switcher Installation
- Contexts 3 6 2 – Fast Window Switcher Installation Tool
- Contexts 3 6 2 – Fast Window Switcher Installation Guide
- Contexts 3 6 2 – Fast Window Switcher Installation Pdf
Docker-for-windows uses Type-1 hypervisor, such as Hyper-V, which are better compared to Type-2 hypervisors, such as VirtualBox, while Minikube supports both hypervisors. The MSIINSTALLPERUSER property, available beginning with Windows Installer 5.0 and Windows Server 2008 R2 and Windows 7, can facilitate the development of a single package capable of being installed in either the per-machine or per-user context. For information about developing a dual-purpose package that gives the user the capability to choose the installation context at installation. May 05, 2016 With CLI IP Changer you can change IP-specific settings on the Windows Commandline with a very fast to type syntax. It is designed for efficient (lazy) people.For example the command to set IP, Subnet, Gateway and DNS1: ip 192.168.1.100/24 g 1 d1 1.
Linux GLIBC 2.2.6 CCS 7.3.0 and earlier will not install on Linux distributions that use GLIBC 2.2.6 (this includes Ubuntu 17.10). We are investigating the issue. We are investigating the issue.
Windows Installer can install a package on a computer into two installation contexts: per-machine and per-user. A per-machine installation of the package is required to enable all users of the computer to access and use the application. Because a per-machine installation makes changes to the system that affect all users, standard users having limited privileges may be prevented from installing a package into the per-machine context without first obtaining permission.
You can specify installation context by authoring the package for per-user or per-machine installation and using the ALLUSERS and MSIINSTALLPERUSER properties. Based on these properties, Windows Installer automatically redirects the values of folder properties and registrations to locations for the per-user or per-machine context.
Note
The MSIINSTALLPERUSER property, available beginning with Windows Installer 5.0 and Windows Server 2008 R2 and Windows 7, can facilitate the development of a single package capable of being installed in either the per-machine or per-user context. For information about developing a dual-purpose package that gives the user the capability to choose the installation context at installation time, see Single Package Authoring. Windows Installer ignores the MSIINSTALLPERUSER property if the value of ALLUSERS is not 2. Windows Installer always resets the value of ALLUSERS to 1 when it installs in the per-machine context and resets the value of ALLUSERS to an empty string (') when it installs in the per-user context.
Shortcut Redirection
The following table compares the locations of shortcuts for per-machine and per-user installation contexts.
Per-Machine Installation Context (ALLUSERS=1) | Per-User Installation Context (ALLUSERS=') |
---|---|
Applications appear under Add/Remove Programs on Control Panel for all users of the computer. | Applications appear only under Add/Remove Programs on Control Panel for users that have installed the applications. |
Shortcuts are installed to the All Users profile. | Shortcuts are installed only to that user's profile. |
Icons and transforms are stored in %WINDOWS%Installer{ProductCode}. | Icons and transforms are stored in %USERPROFILE%Application DataMicrosoftInstaller{ProductCode GUID} |
Registry Redirection
The following table compares the locations of registry entries for the per-machine and per-user installation contexts.
Per-Machine Installation Context (ALLUSERS=1) | Per-User Installation Context (ALLUSERS=') |
---|---|
Windows Installer writes or removes registry values entered in the Registry table and RemoveRegistry table, with the value -1 in the Root column, under HKEY_LOCAL_MACHINE. | Windows Installer writes or removes registry values entered in the Registry table and RemoveRegistry table, with the value -1 in the Root column, under HKEY_CURRENT_USER. |
Windows Installer writes or removes registry values entered in the Registry table and RemoveRegistry table, with the value msidbRegistryRootClassesRoot (0) in the Root column, under HKLMSoftwareClasses. | Windows Installer writes or removes registry values entered in the Registry table and RemoveRegistry table, with the value msidbRegistryRootClassesRoot (0) in the Root column, under HKCUSoftwareClasses. |
COM registration is written to HKLMSoftwareClasses. | COM registration is written to HKCUSoftwareClasses. |
Folder Redirection
Windows Installer sets the values of the folder properties to the full path of the respective folder for the installation context.
Note
Folders are identified by their KNOWNFOLDERID and CSIDL constants. Beginning with Windows Vista, applications should use the SHGetKnownFolderPath function and the KNOWNFOLDERID to determine the full path to the special folders. Existing applications that use the SHGetFolderPath function and constant special item IDs (CSIDL) will continue to work.
The following table compares the locations of folders that are used when Windows Installer installs the package in the per-machine or per-user installation contexts.
Per-Machine Installation Context (ALLUSERS=1) | Per-User Installation Context (ALLUSERS=') |
---|---|
DesktopFolderThe full path of the Desktop folder for all users. FOLDERID_PublicDesktop (CSIDL_COMMON_DESKTOPDIRECTORY) | DesktopFolderThe full path of the Desktop folder for the current user. FOLDERID_Desktop (CSIDL_DESKTOP, CSIDL_DESKTOPDIRECTORY) |
ProgramMenuFolderThe full path of the Program Menu folder for all users. FOLDERID_CommonPrograms (CSIDL_COMMON_PROGRAMS) | ProgramMenuFolderThe full path of the Program Menu folder for the current user. FOLDERID_Programs (CSIDL_PROGRAMS) |
StartMenuFolderThe full path of the Start Menu folder for the all users. FOLDERID_CommonStartMenu (CSIDL_COMMON_STARTMENU) | StartMenuFolderThe full path of the Start Menu folder for the current user. FOLDERID_StartMenu (CSIDL_STARTMENU) |
StartUpFolderThe full path of the Start Up folder for all users. FOLDERID_CommonStartup (CSIDL_COMMON_STARTUP) | StartUpFolderThe full path of the Start Up folder for the current user. FOLDERID_Startup (CSIDL_STARTUP) |
TemplateFolderThe full path of the Templates folder for all users. FOLDERID_CommonTemplates (CSIDL_COMMON_TEMPLATES) | TemplateFolderThe full path of the Templates folder for the current user. FOLDERID_Templates (CSIDL_TEMPLATES) |
AdminToolsFolderThe full path of the Admin Tools folder for all users. FOLDERID_CommonAdminTools (CSIDL_COMMON_ADMINTOOLS) | AdminToolsFolderThe full path of the Admin Tools folder for the current user. FOLDERID_AdminTools (CSIDL_ADMINTOOLS) |
AppDataFolderThe full path of the Program Menu folder. Windows Vista and later: The full path of the Roaming folder. FOLDERID_RoamingAppData (CSIDL_APPDATA) | AppDataFolderThe full path of the Program Menu folder. Windows Vista and later: The full path of the Roaming folder. FOLDERID_RoamingAppData (CSIDL_APPDATA) |
CommonAppDataFolderThe full path of the folder that contains application data for all users. FOLDERID_ProgramData (CSIDL_COMMON_APPDATA) | CommonAppDataFolderThe full path of the folder that contains application data for all users. FOLDERID_ProgramData (CSIDL_COMMON_APPDATA) |
FavoritesFolderThe full path of the Favorites folder for the current user. FOLDERID_Favorites (CSIDL_FAVORITES) | FavoritesFolderThe full path of the Favorites folder for the current user. FOLDERID_Favorites (CSIDL_FAVORITES) |
PersonalFolderThe full path of the My Documents folder or Personal folder for the current user. Windows Vista and later: The full path of the Documents folder for the current user. FOLDERID_Documents (CSIDL_PERSONAL) | PersonalFolderThe full path of the My Documents folder or Personal folder for the current user. Windows Vista and later: The full path of the Documents folder for the current user. FOLDERID_Documents (CSIDL_PERSONAL) |
SendToFolderThe full path of the SendTo folder. FOLDERID_SendTo (CSIDL_SENDTO) | SendToFolderThe full path of the SendTo folder. FOLDERID_SendTo (CSIDL_SENDTO) |
FontsFolderThe full path of the System Fonts folder. FOLDERID_Fonts (CSIDL_FONTS) | FontsFolderThe full path of the System Fonts folder. FOLDERID_Fonts (CSIDL_FONTS) |
ProgramFilesFolder32-bit version of Windows: The property value is the full path to the Program Files folder for all users (for example, %ProgramFiles%.) The identifier for this folder is FOLDERID_ProgramFiles (CSIDL_PROGRAM_FILES.) The identifiers FOLDERID_ProgramFiles and FOLDERID_ProgramFilesX86 represent the same folder. Files in this folder can be accessed by all users. 64-bit version of Windows: The property value is the full path to the Program Files (x86) folder for all users (for example, %ProgramFiles(x86)%.) The identifier for this folder is FOLDERID_ProgramFilesX86 (CSIDL_PROGRAM_FILESX86.) Files in this folder can be accessed by all users. | ProgramFilesFolderWindows Server 2008 R2 and Windows 7: The property value is the full path of the Programs folder for the current user (for example, %LocalAppData%Programs.) The identifier for this folder is FOLDERID_UserProgramFiles on 32-bit and 64-bit systems. There is no equivalent CSIDL identifier for FOLDERID_UserProgramFiles. Files in this folder can be accessed only by the user that installed this folder. Windows Server 2008 and earlier, and Windows Vista and earlier: No per-user capable folder is available. The path is the same as for the per-machine context (for example, %ProgramFiles% or %ProgramFiles(x86)%.) Files in this folder can be accessed by all users. |
CommonFilesFolder32-bit version of Windows: The property value is the full path to the Common Files folder for all users (for example, %ProgramFiles%Common Files.) The identifier for this folder is FOLDERID_ProgramFilesCommon (CSIDL_PROGRAM_FILES_COMMON.) The identifiers FOLDERID_ProgramFilesCommon and FOLDERID_ProgramFilesCommonX86 represent the same folder. Files in this folder can be accessed by all users. 64-bit version of Windows: The property value is the full path to the Common Files folder for all users (for example, %ProgramFiles(x86)%Common Files.) The identifier for this folder is FOLDERID_ProgramFilesCommonX86 (CSIDL_PROGRAM_FILES_COMMONX86.) Files in this folder can be accessed by all users. | CommonFilesFolderWindows Server 2008 R2 and Windows 7: The property value is the full path of the Common folder for the current user (for example, %LocalAppData%ProgramsCommon.) The identifier for this folder is FOLDERID_UserProgramFilesCommon on 32-bit and 64-bit systems. There is no equivalent CSIDL identifier for FOLDERID_UserProgramFilesCommon. Files in this folder can be accessed only by the user that installed this folder. Windows Server 2008 and earlier, and Windows Vista and earlier: No per-user capable folder is available. The path is the same as in the per-machine context (for example, %ProgramFiles%Common Files or %ProgramFiles(x86)%Common Files.) Files in this folder can be accessed by all users. |
ProgramFiles64FolderThe property value is the full path to the Program Files folder for all users (for example, %ProgramFiles%.) The identifier for this folder is FOLDERID_ProgramFilesX64. There is no equivalent CSIDL identifier to FOLDERID_ProgramFilesX64. This is the pre-defined folder for 64-bit components and applies to 64-bit systems. Files in this folder can be accessed by all users. | ProgramFiles64FolderWindows Server 2008 R2 and Windows 7: The property value is the full path of the Programs folder for the current user (for example, %LocalAppData%Programs.) The identifier for this folder is FOLDERID_UserProgramFiles. There is no equivalent CSIDL identifier for FOLDERID_UserProgramFiles. Files in this folder can be accessed only by the user that installed this folder. Windows Server 2008 and earlier, and Windows Vista and earlier: No per-user capable folder is available. The path is the same as for the per-machine context (for example, %ProgramFiles%.) Files in this folder can be accessed by all users. |
CommonFiles64FolderThe property value is the full path to the Common Files folder for all users (for example, %ProgramFiles%Common Files.) This is the pre-defined folder for 64-bit components and applies to 64-bit systems. The identifier for this folder is FOLDERID_ProgramFilesCommonX64. There is no equivalent CSIDL identifier to FOLDERID_ProgramFilesCommonX64. Files in this folder can be accessed by all users. | CommonFiles64FolderWindows Server 2008 R2 and Windows 7: The property value is the full path of the Common folder for the current user (for example, %LocalAppData%ProgramsCommon.) The identifier for this folder is FOLDERID_UserProgramFilesCommon. There is no equivalent CSIDL identifier for FOLDERID_UserProgramFilesCommon. Files in this folder can be accessed only by the user that installed this folder. Windows Server 2008 and earlier, and Windows Vista and earlier: No per-user capable folder is available. The path is the same as for the per-machine context (for example, %ProgramFiles%Common Files.) Files in this folder can be accessed by all users. |
WindowsFolderThe full path of the Windows folder. FOLDERID_Windows (CSIDL_WINDOWS) | WindowsFolderThe full path of the Windows folder. FOLDERID_Windows (CSIDL_WINDOWS) |
SystemFolderThe full path of the System folder. FOLDERID_SystemX86 (CSIDL_SYSTEMX86) | SystemFolderThe full path of the System folder. FOLDERID_SystemX86 (CSIDL_SYSTEMX86) |
LocalAppDataFolderThe full path of the folder that contains local (nonroaming) applications. FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA) | LocalAppDataFolderThe full path of the folder that contains local (nonroaming) applications. FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA) |
MyPicturesFolderThe full path of the Pictures or My Pictures folder. FOLDERID_Pictures (CSIDL_MYPICTURES) | MyPicturesFolderThe full path of the Pictures or My Pictures folder. FOLDERID_Pictures (CSIDL_MYPICTURES) |
PrintHoodFolderThe full path of the PrintHood folder. FOLDERID_PrintHood (CSIDL_PRINTHOOD) | PrintHoodFolderThe full path of the PrintHood folder. FOLDERID_PrintHood (CSIDL_PRINTHOOD) |
NetHoodFolderThe full path of the NetHood folder. FOLDERID_NetHood (CSIDL_NETHOOD) | NetHoodFolderThe full path of the NetHood folder. FOLDERID_NetHood (CSIDL_NETHOOD) |
RecentFolderThe full path of the Recent folder. FOLDERID_Recent (CSIDL_RECENT) | RecentFolderThe full path of the Recent folder. FOLDERID_Recent (CSIDL_RECENT) |
Note
An application can call the MsiEnumProducts or MsiEnumProductsEx functions to enumerate all the products installed on the system. The application can then retrieve information about the installation context of these products by calling the MsiGetProductInfoEx or MsiGetProductInfo functions. For information see Determining Installation Context.
DONATE
I love bringing you new stories. If you like reading them, please consider giving back. Any amount you gift is sincerely appreciated! Thank you for your support.
—l00sed
VenmoBTCPaypal
In 2001, Microsoft's former CEO— Steve Ballmer— was quoted by the online tech news publication, The Register, saying:
Linux is a cancer that attaches itself in an intellectual property sense to everything it touches
Fast-forward 15 years into the future— at Microsoft's developer conference, Build 2016— and Gates' tech behemoth reveals a sudden volte-face. The current CEO, Satya Nadella, announces Windows Subsystem for Linux. With WSL, Microsoft is taking some of the most popular Linux distributions and making them available within Windows through the Microsoft Store.
According to a W3Techs survey, Unix operating systems (the under-pinning OS of Linux, as well as MacOS) make up 71% of the Web, the remaining 29% being Windows. Additionally, every Android phone, tablet and smart TV runs on a modified version of the Linux kernel. So, I guess if you can't beat 'em, join 'em?
Whether or not its because of Microsoft's good graces or some ulterior motive, I know having an easily accessible Unix-type environment available on Windows has been a godsend for me and for so many other developers.
Before WSL, developers running Windows had two options: 1) a virtual machine (VM), or 2) dual-booting. Running a virtual machine uses up more resources than WSL. It can also be difficult to integrate hardware and files between the host machine and the VM. Dual-booting allows for a full-fledged install on a separate disk partition; but it requires a restart any time you want to switch between OS's.
Windows Subsystem on Linux doesn't integrate with the host's hardware perfectly— for example, NVIDIA is still working on CUDA drivers that will take advantage of GPU resources from within WSL. However, for Linux developers who are frequently running CAD software or Adobe Suite (which are difficult-to-impossible to install on Linux), WSL can be a fantastic partner.
More recently, Microsoft announced WSL2— an update that allows for a more complete Linux kernel to run on a Windows machine. This made it much easier to install a variety of software that had been difficult to run on the previous, WSL1. WSL2 is very similar to running a virtual machine (in fact it uses Microsoft's hyperV virtual machines).
However, using WSL2 (as opposed to installing a Linux distro through VirtualBox, or another VM manager) provides some minor performance benefits since Microsoft has optimized it to integrate with Windows' services. If you want, I recommend reading Microsoft's own WSL1-vs-WSL2 feature comparison docs.
Microsoft has clean, straight-forward installation documentation for WSL and WSL2. You can refer to that tutorial if you get stuck, or just follow the steps outlined below. Before starting, make sure you update your Windows 10 installation with the most recent build.
I'll also be going one-step further, and showing you how to run a Linux GUI using WSL2 and VcXsrv (display forwarding). If you're more of a visual-learner, I've also included an installation speedrun video that follows the same steps outlined below (edit: I forgot step 11 in the video, and it's a critical one! Make sure you do that!).
1. Enable WSL Feature
First you need to enable the Windows Subsystem on Linux feature by right-clicking on Powershell from the start menu and clicking 'Run as Administrator'.
Then, paste the following command and hit 'Enter'— don't close the Powershell!
2. Enable WSL2 Virtual Machine Feature
After the last command is finished, paste the following command in the same Administrator-level shell, and hit 'Enter' to enable the WSL2 VM. Again, keep this shell open.
3. Download and Install the WSL2 Linux Kernel Update
Click here to download the Microsoft executable for installing the WSL2 Linux Kernel update. Once it's finished downloading, double-click the executable and follow the installation steps. This part's pretty straightforward
4. Set WSL2 as Default Version
Copy and paste the following command in Powershell to set WSL2 to be the default version:
5. Install Ubuntu 20.04 from the Microsoft Store
Click the start menu and open the Microsoft Store. Search for 'Ubuntu 20.04' and install this Linux distro. If you want to use another distro, that's fine; but Ubuntu 20.04 is compatible with the Regolith Linux desktop GUI we'll be installing in just a bit.
6. Ubuntu 20.04 Initial Setup
Once Ubuntu is done installing, click 'Launch' to initiate first-time installation setup. You'll be prompted to put in a username and password.
7. Make sure You're Using WSL2
At this point, it might be a good idea to double-check that WSL is using version 2 by default. Open a command prompt (or use Powershell if it's still open) to paste in the following command:
8. Download and Install VcXsrv
VcXsrv is an X Server that we'll use to view the GUI from WSL2.
There are a few other display-forwarding servers available (like Xming), but I've found VcXsrv works the best. Download the executable here and click through the installation steps.
9. Install Regolith Desktop
I have Regolith Desktop installed on one of my PCs, and it's fantastic. It's preconfigured to use the i3 window manager which I find incredibly efficient for its tiling and hotkey features.
A loosed reader, Rodrigo, asked me use Regolith for the tutorial; but if you want to install a different GUI you can! To install Regolith Desktop, open your fresh Ubuntu install, and paste in the following lines:
It's a lot of packages, so it'll take some time.
10. Change the 'Mod' Key
Regolith, or rather i3-wm, uses the Super (Windows) key as the hotkey prefix by default. Since you're running this GUI within Windows, you'll run into a lot of overlap between Windows' and i3-wm's preconfigured shortcuts.
For this reason, I recommend swapping the Super key for the Alt key. To change the Mod key mapping use the Vim or Nano text editors to open the configuration file located at:
On line 42 and 43, you'll find the Mod key assignment. Switch 'Mod1' and 'Mod4' and you'll be good to go! Your edited lines should look like this:
If you're using Vim, hit 'Escape' and type ':wq', then hit 'Enter' to write and quit the file. You can check out the official Regolith tutorial on making these changes if you get stuck.
11. Export DISPLAY parameter
Another critical edit (that I forgot to put in the video— oops 🙃) is to export the DISPLAY variable. Since WSL2 is a VM, it has it's own IP address (which can change at each startup). As a result, you'll need to add a couple lines to your bash profile for VcXsrv to connect to WSL2.
To open your '.bashrc' with Vim:
Contexts 3 6 2 – Fast Window Switcher Installation Tool
Press and hold Shift then press 'G' to jump to the bottom of the file. On two new lines, paste in the following code:
12. Open and Configure VcXsrv
Click the start menu and type in 'Xlaunch' then hit 'Enter' to run VcXsrv. Click the 'One window without titlebar' option (you can explore the others later, if you want) and click next. Leave it on 'Start no client' and click next. Then, in the 'Additional parameters' input, add '-ac' and click next. I recommend clicking 'Save configuration' for ease of use.
At this point, you should have a black screen waiting to accept a display input.
The last thing to do is run the magic line:
You should then see a graphical Regolith Desktop appear in the VcXsrv window! Huzzah! Feel free to play around with your new graphical WSL2 setup. To see an overview of the available shortcuts, use 'Alt+Shift+?' to bring up the help menu. You can find more help in Regolith's official documentation.
Wrapping Up
Hopefully you finished this tutorial with a working Regolith Desktop GUI running off WSL2. If you run into any issue, or have questions, feel free to leave a comment. If you'd like to know how to forward audio from WSL2 (a feature not yet available by default), let me know and I'll put together another tutorial.
Contexts 3 6 2 – Fast Window Switcher Installation Guide
Until next time, happy coding!
Contexts 3 6 2 – Fast Window Switcher Installation Pdf
This site is a proud member of the geekring. Check out some other geeky websites here: