Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Sind LNK-Dateien (Shortlinks) eines W7-64 inkompatibel mit XP-32?

Frage Entwicklung Visual Studio

Mitglied: nippon-tussi

nippon-tussi (Level 1) - Jetzt verbinden

17.09.2012 um 13:54 Uhr, 2486 Aufrufe, 2 Kommentare

Hallo!

Ich habe hier ein Netzlaufwerk mit ca. 100.000 Dateien und ca. 750.000 Shortlinks (LNK-Dateien) die auf diese Dateien verweisen. Also sowohl die Zieldatei als auch die LNK-Datei liegen auf dem selben NTFS-Laufwerk. Die LNK-Dateien wurden lange Zeit mit XP-32Bit-SP32 in Anwendungsprogrammen oder direkt im Explorer erzeugt. Seit kurzem machen wir das allerdings auch mit W7-64Bit-SP1-Rechnern.

Jetzt stellt sich heraus, das die XP-32-Rechner mit den Links der W7-64-Rechner nichts anfangen können:

01.
Private Function Get_TargetPath(ByVal LinkPathName As String) As String 
02.
        Dim oShell As New Shell32.Shell 
03.
        Dim oFolder As Shell32.Folder 
04.
        Dim oLink As Shell32.ShellLinkObject 
05.
 
06.
        Dim sPath = Path.GetDirectoryName(LinkPathName) 
07.
        Dim sFile = Path.GetFileName(LinkPathName) 
08.
 
09.
        Try 
10.
            oFolder = oShell.NameSpace(sPath) 
11.
            oLink = oFolder.Items.Item(sFile).GetLink 
12.
            Return oLink.Path 
13.
        Catch ex As Exception 
14.
            Return Nothing 
15.
        End Try 
16.
End Function
Getlink gibt bei LNK-Dateien, die mit W7-64 erzeugt wurden nur einen leeren String zurück.

Dabei fällt auf, dass die LNK-Dateien, die mit W7-64 erzeugt wurden durchweg größer sind als solche, die XP-32 erzeugt. Möglicherweise Unicode.

Hat/kennt jemand einen Funktion für VS2010 mit FW4, die in der Lage ist solche LNK-Dateien unter XP-32 korrekt zu lesen?


Danke fürs lesen, Tussi

PS. Es hat gute Gründe, das wir diese alten LNK-Dateien nutzen und nicht Hardlinks, Softlinks, Symlinks o. ä.
Mitglied: AndreasHoster
17.09.2012 um 21:05 Uhr
Also prinzipiell kann XP mit Links von Win7 64bit umgehen (zumindestens der Explorer).
Damit sollte eigentlich auch obiger Code es rausbekommen können.

Ich würde mal Zeile 10 und 11 in kleiner Einheiten zerlegen und schauen, ob es nicht eventuell vorher schon Probleme gibt (also on oFolder.Items tatsächlich die Items Auflistung zurückgibt etc.).
Und sicher, daß Du nicht aus irgendwelchen Gründen in die Catch Klausel reinläufst?
Leerer String ist zwar eigentlich was anderes als Nothing aber ich weiß nicht, wie genau hier geschrieben wird.
Bitte warten ..
Mitglied: nippon-tussi
19.09.2012, aktualisiert um 15:51 Uhr
Alle Variablen enthalten gültige Objekte oder Strings.

Selbst olink.Description gibt den korrekten Kommentar wieder, auch olink.WorkingDirectory enthält das korrekte Verzeichnis, nur olink.path enthält tatsächlich einen leeren String (""), nicht nothing.

Der Explorer von XP-32 zeigt im Eigenschaften-Dialog des Links in allen Feldern die richtigen Daten. Die Funktion Get_TargetPath liefert unter W7-64 bislang immer die korrekten Daten. Der Fehler tritt bislang nur unter VB2010 Studio SP1 auf einem XP-32 auf.

Hier ein Link zu einem Screenshot: http://imageshack.us/a/img42/7281/screenshot2rip.jpg
Er zeigt links die Situation unter W7-64 und rechts eine Vbox mit XP-32 und VS2010.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...