Ich bin ein Softwareentwickler mit einem Windows 10-PC. Ich muss ältere Software unterstützen, die in Visual Studio 2010 mit Windows SDK 7.1 geschrieben wurde
Beim Versuch, die Entwicklungsumgebung einzurichten, habe ich VS2010 erfolgreich installiert und Windows SDK 7.1 installiert. Das Installationsprogramm gibt jedoch den folgenden Fehler aus:
Einige Komponenten können nicht installiert werden
Für einige Windows SDK-Komponenten ist RTM .NET Framework 4 erforderlich. Setup hat eine Vorabversion von .NET Framework 4 erkannt. Wenn Sie mit Setup fortfahren, werden diese Komponenten nicht installiert. Wenn Sie diese Komponenten installieren möchten, klicken Sie auf Abbrechen, installieren Sie .NET Framework 4 unter http://go.microsoft.com/fwlink/?LinkID=187668 und führen Sie das Setup erneut aus.
Windows 10 wird jedoch mit .NET 4.5 geliefert, soweit ich das beurteilen kann, gibt es noch ein weiteres Problem mit der Versionsprüfung.
Dies würde mich nicht so sehr beunruhigen, aber beim Versuch, das Visual Studio 2010-Compiler-Update zu installieren, schlägt dies fehl
kann nicht installiert werden, da Windows SDK 7.1 nicht gefunden wird
Der Versuch, .NET 4 zu installieren, schlägt fehl, da eine spätere Version von .NET erkannt wird.
Antworten:
Die Antwort von @ dougg3 lautet:
Erste SUBINACL installieren, kann von Microsoft heruntergeladen werden hier . Möglicherweise müssen Sie es Ihrem PFAD hinzufügen, z.
set PATH=%PATH%;C:\Program Files (x86)\Windows Resource Kits\Tools
Führen Sie dann diese Befehle in einer Eingabeaufforderung mit erhöhten cmd-Werten aus:
for /f "tokens=2*" %%a in ('reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client" /v Version /reg:32') do set "CurrentNDPv4ClientVersion=%%~b" for /f "tokens=2*" %%a in ('reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full" /v Version /reg:32') do set "CurrentNDPv4FullVersion=%%~b" subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /setowner="%username%" subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /grant="%username%"=f reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full" /v Version /t REG_SZ /d 4.0.30319 /reg:32 /f reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client" /v Version /t REG_SZ /d 4.0.30319 /reg:32 /f echo start your installer now pause reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client" /v Version /t REG_SZ /d %CurrentNDPv4ClientVersion% /reg:32 /f reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full" /v Version /t REG_SZ /d %CurrentNDPv4FullVersion% /reg:32 /f subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /revoke="%username%" subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /setowner="NT SERVICE\TrustedInstaller"
quelle
reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full" /v Version /t REG_SZ /d %CurrentNDPv4ClientVersion% /reg:32 /f
- Sollte es nicht sein%CurrentNDPv4FullVersion%
? Es hat den gleichen Wert auf meiner Maschine ..Ich bin auf eine andere Problemumgehung gestoßen, die ich auch in einem MSDN-Thread gepostet habe :
Deinstallieren Sie zuerst Visual C ++ 2010 Redistributables in der Systemsteuerung.
Laden Sie das entsprechende Offline-ISO-Image aus dem Windows SDK-Archiv herunter . Hier wird aufgelistet, welche ISO welche ist.
Öffnen Sie nach dem Mounten des Images F: \ Setup \ SDKSetup.exe direkt.
quelle
GRMSDK_EN_DVD.iso
ist für x86,GRMSDKX_EN_DVD.iso
ist für x64 und ich nehme an,GRMSDKIAI_EN_DVD.iso
ist für Itanium.Ich bin gerade auf dasselbe Problem gestoßen. Keine Ahnung, wie sicher dies tatsächlich ist, aber ich konnte es umgehen, indem ich den Installer vorübergehend täuschte, ich hätte eine andere Version von .NET 4.0 installiert. Ich habe Process Monitor geöffnet und damit alles überwacht, was setup.exe tat, um herauszufinden, wie festgestellt wurde, dass ich eine "Vorabversion" von .NET 4.0 hatte.
Es stellt sich heraus, dass diese beiden Zeichenfolgen in der Registrierung betrachtet werden:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Client\Version
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full\Version
Auf meinem Windows 10-Computer sind dies derzeit beide
4.6.00079
. Dem Installationsprogramm scheint dieser Wert nicht zu gefallen. Ich habe beide vorübergehend durch die Zeichenfolge4.0.30319
in regedit ersetzt, um dem Wert von InstallPath zu entsprechen, und das schien den Trick zu tun. Und als ich fertig war, habe ich sie natürlich wieder so gemacht, wie sie ursprünglich waren.Ich hatte jedoch keine Berechtigung, diese Werte zu ändern, daher war es etwas schwierig. Ich habe mit der rechten Maustaste auf den
Client
Schlüssel geklickt , Berechtigungen ausgewählt und auf Erweitert geklickt. Dann habe ich den Eigentümer in mein Benutzerkonto anstelle von TrustedInstaller geändert. Dadurch konnte ich für mich selbst Berechtigungen für Vollzugriff hinzufügen, um denVersion
Wert zu ändern . Ich wiederholte den gleichen Vorgang auf demFull
Schlüssel. Nachdem das Installationsprogramm erfolgreich abgeschlossen wurde, habe ich die ursprünglichen Versionswerte wieder in (4.6.00079
) eingefügt, die für mich hinzugefügten Berechtigungen gelöscht und den Eigentümer in TrustedInstaller wiederhergestellt (geben Sie dazuNT SERVICE\TrustedInstaller
den Benutzernamen ein).Es gibt vielleicht eine sicherere / einfachere Möglichkeit, die Registrierungslesevorgänge abzufangen, als die Registrierung tatsächlich zu ändern, aber das war für mich einfach genug!
quelle
dotNetFx40_Full_setup.exe
. Dieser Registrierungs-Fix löst das Problem für mich nicht....require the RTM .NET Framework 4. Setup detected a pre-release version of the .NET Framework 4
. Ich dachte also, wenn es eine "Vorabversion" erkennen würde, würde ich die "Standard" -Version von .Net 4 installieren wollen. Aber ich habe es geschafft, sie auf dieser Route zu installieren. Stackoverflow.com/a/32534158/1039753 danke !Tolle Antwort von Dougg3 oben. Nur damit es anderen hilft, habe ich den Prozess durchlaufen und einige Screenshots gemacht, falls es jemandem hilft. Ich habe 64-Bit-Windows 10.
Dies ist der Pfad für die Reg-Edit-Datei, auf den Dougg verwiesen hat. Klicken Sie hier auf die Schaltfläche Erweitert
Wo oben Eigentümer steht, klicken Sie auf den Link Ändern
Das nächste Bild besteht aus zwei Schritten: Klicken Sie zuerst unter "Benutzer oder Gruppe auswählen" auf "Erweitert" und dann im nächsten Dialogfeld mit demselben Titel auf die Schaltfläche "Jetzt suchen".
Suchen Sie den Benutzer, dessen Eigentümer Sie ändern möchten, und klicken Sie dann auf OK
Klicken Sie auf der nächsten Seite auf OK
Gehen Sie zu Ihrem Benutzer, den Sie gerade in den vorherigen Dialogen ausgewählt haben, wählen Sie Vollzugriff zulassen und klicken Sie dann auf OK
Jetzt können Sie die Version bearbeiten.
Nachdem Sie damit fertig sind, setzen Sie die Versionsnummer auf die vorherige zurück und machen Sie die vollständige Kontrolle für diese Registrierung rückgängig.
quelle
NT SERVICE\TrustedInstaller
ist der Name des ursprünglichen Besitzers. Ich schalte es wieder darauf um, als ich fertig war. Sie müssen den vollständigen Namen (nicht nurTrustedInstaller
) eingeben, damit Windows weiß, wovon Sie sprechen. Sie müssen Berechtigungen / Eigentumsrechte auch nicht rekursiv anwenden, um das Installationsprogramm zum Arbeiten zu verleiten.Installieren Sie SDK 7.1 auf Ihrem Computer. Bei Compiler-Extras schlägt dies meistens fehl. Sie benötigen dies jedoch zuerst.
Installieren Sie nun dieses Compilerpaket von Microsoft:
http://www.microsoft.com/en-us/download/details.aspx?displaylang=de&id=4422
Anschließend wird der Compiler installiert und die Verwendung des Compilers ermöglicht.
quelle
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
.Laden Sie die Exe herunter. Ändern Sie die Erweiterung von 'exe' in 'zip'. Extrahieren Sie die Datei jetzt. Führen Sie SDKSetup.exe im Verzeichnis / Setup aus
quelle
Ich musste nur schnell den Code eines anderen kompilieren und dies war die Lösung für mich unter Windows 10.
https://www.microsoft.com/en-us/download/details.aspx?id=4422
quelle
Wenn Sie hier versuchen zu installieren,
psycopg2
stellen Sie sicher, dass Ihr Pip auf dem neuesten Stand ist. Andernfalls werden diese Fehler angezeigt.pip install -U pip
pip install psycopg2-binary
Siehe - http://initd.org/psycopg/docs/install.html
quelle