Open michell-la opened 3 years ago
Thanks for your feedback. As HAXM is just a kernel driver and only a service is needed to start for using. We simplified the installation process as QEMU and Android Studio did. We provide silent_install.bat for silent installation. Could you describe the details on how such tools deploy MSI based HAXM? What benefits did the MSI based installer have? Thanks.
There are a number of benefits, not least that in the corporate/enterprize world .MSI have become a kind of internationally recognized "standard" for software deployment. So many management systems including ones not created by Microsoft leverage it as a deployment tool for mass deployments. The company I work for "Droplet Computing" leverage Intel HAXM to accelerate our container technology that runs on Windows, Apple Mac, Linux and Chromebook - and many of the organizations we work for in government and health care have kind of got used to/expect an .MSI...
Probably, the key value is that.MSIs can be deployed a computer-level in systems such as Microsoft Active Directory Group Policy objects, with a policy setting called "Software Installation". These policies systems (it's not limited to AD BTW) have a way of filtering the software deployment based on OU and/or group membership which means a large business can target software deployments on a per-computer or per-user basis. MSI also supports in-place upgrades, where the System Administrator is presented with a UI that allows them to say that version 7.5.1 is upgraded by 7.5.2. This process can feed into tools that carry out software audits, as the metadata present in the MSI can be ingested in software inventory tools - it allows customers to track how many active instances they have in production. That allows them to plan and test major OS upgrades by having a full trail of their estate. MSI continues to be in development and I understand that Microsoft has developed a hybrid version for more generic applications based on MSI-X. It also comes with own subset of command-line tools called "msiexec". It's a mature technology and has been around since Windows 2000.
MSI is often expected by these management tools, and work out of the box for MSI. I could go on - but a quick google provides this list of advantages of .MSI
https://www.itprotoday.com/cloud-computing/understanding-windows-installer
Hope this helps explain my query... I was just surprised to see that packages that were once there, have been removed...
Best Wishes Michelle
Thanks for your detailed information.
We have provided the silent_install.bat
for remote deployment. You may try to run below commands after extracting the package,
silent_install.bat
to install or upgrade HAXM
silent_install.bat -u
to uninstall HAXM, or
silent_install.bat -h
for more help.
Do you use QEMU as the virtual machine solution? How do you deploy QEMU, as QEMU also uses an .exe based installer rather than an .msi based one?
Thanks for that - yep, I'm already aware of the silent_install.bat in the absence of an MSI I will direct organizations towards that...
We have built our own patent-pending client-side container solution, which hooks into the Intel HAXM APIs to make native Intel-VTx calls. We do that for the Windows 10 and Apple Mac version, on the Linux and Chromebook side of the house we leverage /dev/kvm to make the calls to Intel-VT there....
Our software ships as standard .exe installer, but we also build .MSI for the same reasons I outlined above 👍
Best Wishes michelle
Glad to know that your software became another client that directly invokes HAXM APIs besides QEMU and Android Emulator. Since the original .msi installer is not suitable for the latest releases, we moved to the .exe installer solution since v7.6.5. Learnt that you have provided both installer packages, that should be a good idea. Thanks for your suggestion.
:-)
Yup. We follow you guys very closely as your pretty critical to the performance of our container. On physical machines it's great - although sadly in virtualized environments we've had our challenges. Even though with a hypervisor like ESX or KVM you can exposure Intel-VT right up to the VM, and Intel HAXM installs just fine - the performance is nothing like being on bare metal with Windows 10 or Apple Mac... I've kind of assumed that was to do with the interplay of nesting or as I like to call "inception" :-D So you have bare-metal hypervisor (0), the VM (1) and then our container tech (2). I've been experimenting with WHPX as an alternative, but it seems no better...
Another challenge we have seen is customers on the LSTC channel for Windows 10 currently on version 1809. The LTSC edition creates quite long gap (nearly 3 years) on the Windows 10 code basis - in the most part Intel HAXM helps "bridge" that gap but not in all cases - I suspect its a combo of a "old" Windows 10 distro and really new CPU...?
Anyway, thanks very much for your advice and feedback - I'll update our deployment docs to recommend using the silent .cmd method going forward, unless in a later edition of Intel HAXM you decide to re-instate the .MSI approach...
Best Wishes Michelle
Hi @michell-la ,great to know the haxm could be leveraged on your product. If possible, could you share us your using scenario or setup guides with container? Then we can make the haxm quality assurance from validation side and feature enabling from development side. Thanks in advance.
That would be so cool! :-)
Perhaps we could get my development team together - and we could present our solutions - and provide you guys with our images, software and a partner NFR. I can see Wenchao is at an Intel... are you and he colleagues?
Perhaps best to hook up via linkedin for example - where I can more secure share contact details to arrange that?
This is my profile: https://www.linkedin.com/in/michellelaverick/
If you follow me, I'll exchange contact details and line things up...
Best Wishes Michelle
That would be so cool! :-)
Perhaps we could get my development team together - and we could present our solutions - and provide you guys with our images, software and a partner NFR. I can see Wenchao is at an Intel... are you and he colleagues?
Perhaps best to hook up via linkedin for example - where I can more secure share contact details to arrange that?
This is my profile: https://www.linkedin.com/in/michellelaverick/
If you follow me, I'll exchange contact details and line things up...
Best Wishes Michelle
Yes, we are colleagues:). Looking forward to meeting with your team, maybe someday next week.
Great... sent you a LinkedIn message to share my biz email...
What TZ are you in... I’m gmt but, our chief developement officer is German National currently in Mexico...
I'd like to add to this too, we have HAXM deployed to ~250 student devices for use with Android Studio for some years. Normally we would deploy using an internally created and self hosted Chocolatey NuGet "nupkg" (https://www.chocolatey.org).
Our previous packages installed using the msi and some silent switches in powershell using chocolatey's msi helper:
silentArgs = "/qn /norestart /l*v "$($env:TEMP)\$($packageName).$($env:chocolateyPackageVersion).MsiInstall.log
""
Chocolatey doesn't have anything in particular for handling batch files - it's all powershell driven. Batch files are fairly archaic, I'll probably be able to make it work with custom powershell scripting but it's clunky.
"Running haxm-7.7.0-setup.exe /?" doesn't provide any switches either - HAXM isn't really following any normal industry standards at all with any of this.
Thanks for your feedback. Could you try below command in an elevated PowerShell for silent installation after extracting HAXM release package?
silent_install.bat
Yes that works but also .\haxm-7.7.0-setup.exe with a /S which works, I'll use that instead I think for the install. Notably the /S is case sensitive, must be upper case - very odd in a windows environment!
Perhaps this could be added to documentation in the wiki.
Annoying Github doesn't allow pull requests to wiki sections, but I suggest this markdown as a starting point under the Windows installer section.
### Installing HAXM silently on Windows ###
The installer executable will accept a silent /S switch on the cmd prompt or in powershell terminal, for example:
.\haxm-7.7.0-setup.exe /S
Please note the /S **must** be uppercase.
Further silent operations are currently possible via a supplied batch file:
>Usage: silent_install.bat [-u|-v|-h] [-log file_path]
>
>silent_install.bat installs or uninstalls Intel HAXM in silent mode.
>This batch file is required to run as administrator.
>
> The default action is to install Intel HAXM on your computer.
> -u uninstall Intel HAXM from your computer
> -v print installed HAXM version
> -log save log information to the specified file
> -h show help information
I've created a chocolatey.org package in the community repo, it's in the moderation queue now but hopefully will aid others doing larger deployments:
Describe the Bug
Summary: Previous editions of Intel HAXM used to extract a .MSI to %TEMP%\Intel. 7.6.5 seems to not do this anymore - this means that in Windows environments customers cannot deploy Intel HAXM via MSI using common management tools like AD GPO, SCCM or Intune - or any Windows end-point manager that remote deploys via .MSI
Specification HAXM version: 7.6.5 Hardware vendor: LENOVO_MT_81NE_BU_idea_FM_IdeaPad S540-15IWL Host OS version: Window 10 Pro N 2004 CPU Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz, 1992 Mhz, 4 Core(s), 8 Logical Processor(s) Host RAM size: 8GB Android Emulator 28.0.20