Modern.ie Virtual Machine : Purchasing perpetual/subscription for Virtual machines - virtual-machine

The T&C for the Modern.ie Virtual machine licence states
TIME-SENSITIVE SOFTWARE. You may use the software for 90 days after it is downloaded to the
licensed computer. The software will stop running after 90 days and you may not receive any other
notice. You may not be able to access data used with the software when it stops running.
We would like to perform cross-browser testing and we find modern.ie more reliable. Is there a way to purchase licence legally? I checked the T & C page and StackOverflow site and there is no reference or contact info on how to purchase perpetual/subscription licence.
Since many of our clients are using older versions of IE and forcing them to use Edge may not be an option, can Microsoft advice how to purchase legal perpetual/subscription based licences. Per policy, Our company cannot allow to extend trial-versions in our desktop.
Any pointers would be helpful.

Any legal key for windows that is still valid should work.

Related

How do I connect Power Virtual Agent to Bot Framework Composer?

I'm trying to use an Adaptive Card I created with Power Virtual Agent via Power Automate. According to the following Microsoft article, I should be able to just click a button on the Topics section of the Power Virtual Agents dashboard, and it'll pop open the Bot Framework Composer, but I don't see this button.
https://learn.microsoft.com/en-us/power-virtual-agents/advanced-bot-framework-composer#troubleshooting
I have installed the Composer, Emulator, and upgraded .Net in preparation. I've tried multiple browsers to see if, by some slim chance, that was the issue. No luck. According to the Power Virtual Agents blog, this feature became a publicly available preview 11/16/2020.
Am I missing something in the settings or installation that would allow me to connect the two?
Do you have a MS Teams integrated license or a full license or trial? Based on the documentation, a full license is required to access this capability.
Bot Framework Composer integration is not available to users who only have the Teams Power Virtual Agents license. You must have a trial or full Power Virtual Agents license.
There was an issue in January 2021 where the button is not showing up for certain users even though they had a full license. This was resolves on January 21st.

Installation vs. Virtual Machine Images

I seem to end up evaluating a lot of software. This requires me to constantly install all kinds of things on my system. It creates a huge clutter and I spend a lot of time during the install process, and if I don't like it, then removing everything I've done. Much of my evaluation tends away from the features of the software being evaluated and toward how difficult it is to install. I'm sure I miss good software which may have actually been a better choice, because of this startup cost.
With the advent of VM software like VMWare Player and VirtualBox, it would be much easier to sell someone like me your software, if you just provided an image that I could load into the VM and run. I'd be looking at the features almost immediately rather than fighting with which revision of whatever. The VM would take care of all of this for me.
Am I missing something, or should vendors and OSS start distributing VMs for their wares?
Most of my evaluations are for server side software installed on Linux, so OS licensing is not the issue.
VMs require that the operating system have a valid license key. For free operating systems this wouldn't be an issue, but if you're developing for something like Windows machines, each time they send out a demo version of their software, they're sending out a license key that they would have to pay for.
This would be incredibly expensive for most companies.
The only downside I would say IMHO is the size of the images, if say you have a 20 MB application, do you really want to download/transfer an entire OS just for that application.
I would say a better approach would be to have a ready to go VM and then you simply take a snapshot (on Virtual Box, I assume similar feature exist in other players)
Then simply install the applciation inside your sandbox environment, and then just Zap it when done (i.e. return to your Snapshot)
Darknight
This can be done for softwre that runs on open source platforms, and VMware have a library of images which do just this (though the images that are used for evaluating commercial software is generally for infrastructure-type things that have very, very complex installation requirements):
http://www.vmware.com/appliances/
However, if the software is for the Windows platform, you don't really have the opportunity to do this, as Microsoft's Windows licensing would prevent it. Unless, you're Microsoft, of course, in which case you can in fact do this - and MS has done this to permit easier evaluation of such software as Visual Studio, SQL, and many others:
http://technet.microsoft.com/en-us/bb738372.aspx?ppud=4
Novell has an appliance builder called Suse Studio that lets you pick the software you want, it builds out a VM with the software (and dependencies, etc) for you. You can then try out the VM, download it, etc.
Whether the software you're looking for is available or not is a different matter.
Disclaimer: I work for Novell (though not with the Suse team)
But yes, if you can deal with the OS licensing issues, or possibly host trial environments yourself, this is a very effective way for a vendor to demo their app. The problem is that all vendors don't always have the infrastructure (or lack the awareness) to do so.
Microsoft provides fully-provisioned VM's for time-limited trials of their software. So if you want to trial select Microsoft products in that manner, you can do that today.
There is no sign, though, that Microsoft will make this available to third party Windows software vendors.
In the SaaS (Software-as-a-Service) world, you can get fully-provisioned virtual servers that include Windows and your software of interest on a pay-as-you-go basis, based on both Linux and Windows. For example, see Amazon Web Services
For windows, you may be better off developing a portable application that runs from a usb key. That is how Embarcadero distribute All Access. I received a 4 gb usb key that contained multiple applications. Most could be run straight from the key without installation. I believe Embarcadero will be licensing the technology at some stage.
If you are using a programming language such as Delphi or C++ with little in the way of external dependencies, a portable application is straight forward to develop. For .net, it is much harder, but can be done with Mono, or something like Virtual Application Studio.

Acquiring / accessing Citrix environment for QA purposes

We have a Windows Forms, .NET 2.0 application delivered via ClickOnce and driven by web services, that our customers occasionally wish to deploy into a Citrix environment. In some cases, the customer elects to allow our application to be deployed locally to user machines and bypass the Citrix server, in one case we've provided a static installer for a customer to use with the proviso that updates would not be pushed automatically, and in some cases, our customer IT departments have had the technical savvy to make the ClickOnce deployment work in their Citrix environment.
My question is not about the ClickOnce vs. Citrix issues themselves -- we've learned a fair amount from online research and talking to customers -- but about the most cost effective approach for us to look at the issues first hand. Particularly for those of you who are Citrix customers or vendors, what is the most effective way for us to set up a Citrix QA environment (specifially, Citrix for desktop virtualization), given that we have no real use for a Citrix server otherwise?
The simplest Citrix farm can be a single computer, and licenses can be purchased from Citrix for development purposes at a reduced rate. One of my past employers had a single laptop set up as a Citrix server in its own farm, for performance testing, since it only took about 5 users connecting to its published application for that laptop to start significantly slowing down. If part of your development work is to test load-balancing, two computers can be set up as a farm and load balance across them. If you have no other use for the servers, and don't need to demonstrate the software running blazing fast on them, workstation-class computers can fill the need (rather than the added cost of server-class computers), along with development licenses rather than production licenses from Citrix.
Citrix for virtualisation (XenDesktop) is a completely different product to XenApp (was Presentation Server, was Metaframe).
I'm sure that Citrix offer trial versions of all their products.
Building a standalone XenApp server is relatively simple esp. if you've got VMware Workstation available.

MSDN License (Development, Testing, Demo)

I have a question about my MSDN Premium Subscription. This is what I want to setup:
Install Windows Server 2008 (maybe R2) on a Dev Box
Install System Center Virtual Machine Manager 2008 (maybe R2) on the server.
Create several VMs hosted on the server (and maybe some other machines).
I would then use the VMs to Develop, Test and Demo my software (Nothing else)
My question is, on which of these can I use the licenses downloaded from my Subscription? I think #3 is clearly in the scope of the Subscription, but is the Server OS License? Is the Virtual Machine Manager?
Any opinions would be welcome. Any facts (with supporting links or docs) would be very appreciated.
From the main MSDN subscription page you can access the subscription information. The following was copied from that page. "Software Use Rights"
MSDN subscriptions are licensed on a per-user basis. One person can use the software to design, develop, test, or demonstrate his or her programs on any number of devices. Each person who uses the software this way needs a license.
According to this wikipedia article: MSDN
You can use your license to test and develop, but for production level code, you will need a different license.
In these kind of cases, if in doubt, I would give Microsoft a call. They should be able to give you a definite answer.
But as far as the license goes, it doesn't look like a problem and my best guess is that you actually can install the host OS, with SCVMM and everything else, as long as you are using that server purely for software development. IANAL, so if you want to have a definite answer: Call Microsoft.
In addition to Kim Major's answer, because of the per-user limitation (e.g. everyone working to a development SQL Server needs an MSDN license) it might be worth looking into an Microsoft Action Pack Subscription through the Partner Network. There are some very specific eligibility requirements but for small dev shops that are developing solutions with Microsoft products it is really useful. As you grow as an organisation you'd move towards Silver then Gold certification.
The basic premise is that Microsoft offer great value subscriptions to developers and get their pay out when your client pays for the production licenses to deploy your solution.
Once again, check the eligibility to be certain you qualify. There is a lot of misunderstanding around this offering.

What are the key use cases for use of virtualization in software development?

What are the key use cases for the use of virtualization -- that is, running one or more "virtual PCs" using software such as VMWare and Microsoft Virtual PC -- for software development?
Also -- are there other instances/uses of virtualization that aren't covered by my definition above (use of a tool like MS Virtual PC or VMWare), and that are useful to developers?
My impetus for asking is this StackOverflow comment by Metro Smurf asserting "You'll wonder how you ever developed without it!", regarding use of virtualization.
(Please include just one use case per response. Thanks!)
Application testing in multiple environments is one obvious use of virtualization that I'm aware of. Testing your application on other operating systems (without requiring additional physical computers to do so), as well as testing that involves software that generally only allows you to install a single version on a given machine (such as the Internet Explorer browser; running both IE6 and IE7 on the same machine is not an officially supported configuration), are good candidates for virtual machine usage.
If your build-server is running in a VM, you can make a snapshots of it for every software release in order to be 100% sure that you can recreate the build environment (in case you want to make patches to old releases, for example).
If you set up snapshots of your development environment (and back them up) it can be very easy to resume productivity if your computer breaks down. When your machine breaks down right before your release - and you can resume immediately with all your tools installed and configured, it can be a lifesaver.
The simplest case which applies to my current situation is that we have a complex client-server environment and with virtualization every developer can very quickly get a baseline set of operating systems to deploy their local build to and verify end to end functionality.
Locally you have your dev box, and N client boxes which get re-initialized as fresh OSes each time you want to try a build. Essentially it's the test environment equivalent of a 'make clean' where even the client workstation gets replaced with a new OS.
Quickly distributing environments between team members is a very nice use case to for virtualization especially if you have a lot of various components, tools, etc.. This can save you a ton of time with new hires, contractors, or other individuals who need an environment quickly.
Many presenters use a VM for presentations - it allows them to revert immediately to reset the presentation for the next day, transfer all presentation materials quickly between computers, and not have to show your attendees your messy My Documents folder.
Using virtualization for sales activities is also a great use case. You can take a snapshot at a particular time that you can save as your demo baseline. Then once you run through the demonstration and change the data, etc. you can restore back to your previous baseline for future demonstrations. You can also capture multiple baselines and pick and choose which baseline best fits the upcoming demo.
Test environments. If you have more than one setup that a system needs to be targeted for (e.g. Windows & Linux, XP & Vista) then a machine with lots of RAM and VMWare (or on of the others) is a good way to manage the environments.
Another is developing on one system and targeting another. For example, at one point I did some J2EE work on a workstation running Linux where the client was I.E. 5.5. A VM with Windows 2000 and IE 5.5 would let me test the application.
Reasons I use virtual machines for development.
Isolate different development environments.
Testing environments.
Easy recovery due to computer hardware failure/upgrade.
Ability to "roll-back" changes to your development environment if something corrupts it.
Currently, I am using VirtualBox for my VM setup. I used to use VirtualPC, but I REALLY hated not having any type of "snapshot" feature (like VMware and VirtualBox have).
We develop software for use in our SaaS application, our production environment has a large number of servers and their software environment needs to be absolutely predictable; we can't have ANYTHING installed extra, or absent from our development machines.
Moreover, our application requires a number of different server types in order to function properly (at least 7 last time I counted); mostly they can't be installed on the same (virtual) machine - at least, not without violating the "same software as production" requirement.
In order to have a consistent environment, it's necessary to use VMs. I don't know how anyone ever manages without them.
Snapshots and rollbacks are nice too, but I use them only occasionally (really useful during installation / upgrade tests).
Suppose you're developing a new version of your software, and checking that the upgrade from the previous version works correctly... how long does it take to do a test cycle without being able to rollback the box? Do you have to reinstall the OS then the old version? Can you guarantee that the uninstall really uninstalls everything?
Being able to test/retest your deployment process is a huge savings.
Developing Add-Ins for different versions of Microsoft Office (using Visual Studio Tools for Office).
My main work machine has Office 2007. When I work with Add-Ins for Office 2003 I use a virtual machine with Visual Studio and Office 2003.
I'm suprised that nobody has mentioned the VMware record/replay feature (awesome video demo) which is great for debugging.
I have a headless server running ESXi which runs various machines for building installers (so I don't have to give up processing power on my desktop), automated testing (server is faster than any desktop) and various test environments (about 20 different configurations) so that the support team can easily jump onto a configuration that closely matches a customers system.
When you have one really beefy server running VMs that can be shared between support, test and dev teams, you introduce huge cost savings. In all, we're running ~25 VMs on ESXi (dual-quad core Xeon 2.5G + 8Gb RAM) shared between 5-10 people, some of the developers use Virtual PC and then I use VMware Workstation on my desktop. All of the Mac users here use VMware Fusion as well
I am surprised that no one has mentioned the benefit of increased security by isolating, for example, the database server and web server in different VM's.
Some server applications can use VMs too. When one vm is not used much, the server can locate the resources to other vms.
Some sort of test environment: if you are debugging malware (either writing or developing a pill against it) it is not clever to use the real OS. The only possible disadvantage is that the viruses can detect that they are being run in the virtualization. :( One of the possibilities to do it is because the VM engines can emulate a finite set of hardware.