I am running Windows 11 Professional. I need to install an old version of a program, and its installer wants to install an old version of SQL Server, but the install fails because it depends on PowerShell 2.0, which is no longer installed on Windows 11 systems.
I downloaded “Windows PowerShell 2.0 and WinRM 2.0 for Windows Vista” from the ( Microsoft Update Catalog . I got an MSU file. When I tried to ran it, it first displayed a window that said, “SmartScreen can’t be reached right now. Check your internet connection. Microsoft Defender SmartScreen is unreachable and can’t help you decide if this app is ok to run.”
I knew my Internet connection was working because I had just downloaded the thing, and I knew it was safe to run because it came directly from Microsoft. The window had two buttons, “Run” and “Don’t Run.” I clicked “Run,” and got an error box that said:
Windows Update Standalone Installer
Installer encountered an error: 0x80096002
The certificate for the signer of the message is invalid or not found.
I also downloaded “Windows PowerShell 2.0 and WinRM 2.0 for Windows Vista for x64-based Systems,” the only other version that appeared possibly compatible with my system. When I tried to run it I got exactly the same message.
First of all … This forum is more about challanges you have with your PowerShell code than about PowerShell related system issues.
Second … if your program expects an old SQL Server and PowerShell 2.0 which isn’t supported anymore you can no longer run it securely.
The best option would be to look for a current version of your program or a current other program replacing your old and unsupported solution.
If that’s not possible yet you may consider running it in a locked down VM with Windows 10 with all needed dependencies it needs. This way you buy some time to transition to a supported scenario for your use case.
The worst option would be to try to manipulate your production Windows 11 because it would introduce vulnarabilities you cannot get fixed.
I’m sorry if this is the wrong forum. I thought that “PowerShell Forum” would naturally accommodate any kind of PowerShell issue. If I absolutely can’t get help here, I hope you can recommend a more appropriate place.
As for getting a current version of the program… I’ve got one, and I can install it any time I want. But I’ve also got a database, representing several hundred hours of work, that I created with the old program on an old computer that no longer works reliably. To use the database on a new computer I must install the old version, import the database, and install the new version on top of the old one.
That’s the only migration path the publisher provides. It’s supposed to make the migration as easy as possible. Once the old version is installed, it should.
I don’t think security is a serious issue here. As soon as I install my old program, I can uninstall 2.0 again. If you think I need to worry about security anyway, I can disconnect from the Internet while I do that.
But first I’ve got to get 2.0 installed. Which returns us to my original question.
Hmmmm … since PowerShell has been removed recently you just need an installation of Windows 10 without the latest updates I’d think.
If you don’t have one you may install a fresh Windows 10 in a VM without updates and use this to upgrade your database to a newer version.
May I ask why you waited until it’s too late actually? PowerShell 2.0 has been deprecated software for about 8 Years now?
(My previous post was perfectly good except for one word that I wanted to change. I expected the “…” control under the post to open a menu that might have an Edit option. Surprise! It deleted my post instead.)
May I ask why you waited until it’s too late actually?
There are two answers to that question.
One is that I tried to do this about six months ago, and got SQL Server installed, but I encountered a problem later in the installation process. It was difficult to solve, and it scared me, so I put it off as long as I could… my deadline being December 31, when the publisher will drop support for the old program.
But that has nothing to do with the deprecation of PowerShell 2.0.
Until I ran into this problem I had no inkling that Microsoft SQL Server 2008’s installer even used PowerShell, much less that it (GAG!!!) wasn’t forward-compatible with the current version of PowerShell. So I was doubly blindsided: first by the fact that I needed PowerShell 2.0, and second, at the same instant, by the fact that I no longer had it.
I came here hoping that someone could tell me how to resolve the “certificate is invalid” error, or point me to another PowerShell 2.0 installer that didn’t care about certificates.
I was thinking that if all else failed I’d have to dig out my long-buried stash of computer parts and cobble together another computer on which to install an old version of Windows. Frankly, creating a VM on my working system sounds scarier, because I’ve never done it before. I don’t have a clue what could go wrong.
It’s too late to deal with this tonight. Tomorrow I’ll start reading up on VMs in Windows 11 so I can decide what to do.
Just checking - did you try the steps in the MS Support doc about PS2 retirement to install PowerShell 2.0 using ps2DLC.zip?
If so, it sounds like you may need to set up a VM or another computer with an older version of Windows 11 that still has PS 2.0 to get that SQL installed.
I hadn’t heard of ps2DLC.zip, so I downloaded it and tried it, but so far without luck. I hope you’ll be patient with me here; I haven’t used PowerShell at all, so I don’t understand what I’m supposed to do.
The instructions you referred me to said that after I unpack the zip file I should go to the directory where the .ps1 file is found and enter run ./loadGAC.ps1. I first assumed that since I was installing a version of PowerShell, I was supposed to install it from the Windows command shell. That didn’t work; cmd said it didn’t recognize run as an internal or external command, etc. (I could have told me that if I’d stopped to think.)
OK, I thought, I must be supposed to enter that command in PowerShell whatever-version-is-current. But when I did that, I got essentially the same thing: “The term ‘run’ is not recognized as the name of a cmdlet, function, script file,…”
Google confirms that there’s no run command in PowerShell, either. So I don’t know where I’m supposed to enter that command.
I’d like to recommend again to install an earlier version of Windows already equipped with Windows PowerShell 2.0.
In order to run a PowerShell script (*.ps1) of course you need to have a PowerShell console. And then you dont need any run command. You just call the script … including it’s path if it’s not in the current directory.
I tried running the script without entering “run,” and it appears to have worked. So my immediate problem is solved – thanks everyone. Now I have to run the installer that wants to use the thing.
An odd problem occurred to me: If I run PowerShell from the Start Menu, which version will it run, and how would I run the other if I wanted to? It’s unlikely to become a real issue, since I intend to run the application installer and then uninstall PS2.0. Just curious.