INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

LV-Applikationen erstellen die VISTA kompatibel sind



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

12.02.2009, 15:37
Beitrag #1

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
LV-Applikationen erstellen die VISTA kompatibel sind
Hallo,

Ich sollte LV-Applikationen erstellen die VISTA kompatibel sind, irgendwie geht das aber nicht. (obwohl LV > 8.2 für VISTA ist)
Es geht z.BSP. um die UAC-Virtualisierungsdienste. (siehe http://zone.ni.com/devzone/cda/tut/p/id/5702)

Nun ist es so, das ich die Datei „c:Programmeirgendwasirgendwas.ini“ lesen möchte.
Aufgrund der UAC liegt diese Datei aber in „C:UsersusernameAppDataLocalVirtualStoreProgram Filesirgendwasirgendwas.ini“

LV bemerkt davon aber nichts, und liest die Datei „c:Programmeirgendwasirgendwas.ini“ .
Diese Datei ist aber nicht die aktuelle INI Datei, sondern diejenige die bei der Installation des irgendwas-Programmes geschrieben wurde. (irgendwas.exe ist eine fremde Windows2000.exe, kein LV)

Dasselbe gilt auch, wenn ich meine LV-Applikation unter c:Programme... installiere.
Da der Benutzer nun Einstellung geändert hat, kann er diese nicht mehr in der INI Datei speichern.
LV melden dann Zugriffsfehler, sollte die INI-Datei aber in „C:UsersusernameAppDataLocalVirtualStoreProgram Filesmeine LV Applikation..“ speichern.

Mache ich da was falsch oder geht das nicht automatisch ?
Hat jemand Erfahrung damit und kann mir einen Tipp geben?

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.02.2009, 15:49
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
LV-Applikationen erstellen die VISTA kompatibel sind
' schrieb:Mache ich da was falsch oder geht das nicht automatisch ?
Hat jemand Erfahrung damit und kann mir einen Tipp geben?
Ich hab schon des öfteren folgendes gehört:

Das hängt mit der Rechteverwaltung auf Betriebssystemebene zusammen und damit, dass bestimmte Verzeichnisse für den Anwender respektive das Programm tabu sind. Das geht soweit - wie du ja festgestellt hast - dass Files automatisch vom Betriebssystem in den User-spezifischen Pfad umgelenkt werden, ohne dass der User davon was merkt (Virtual!). Angeblich soll der Effekt weg sein, wenn das Programm respektive der User volle Adminrechte hat.

Vista ist mir bisher zum Glück erspart geblieben.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2009, 16:00
Beitrag #3

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
LV-Applikationen erstellen die VISTA kompatibel sind
' schrieb:Das hängt mit der Rechteverwaltung auf Betriebssystemebene zusammen und damit, dass bestimmte Verzeichnisse für den Anwender respektive das Programm tabu sind. Das geht soweit - wie du ja festgestellt hast - dass Files automatisch vom Betriebssystem in den User-spezifischen Pfad umgelenkt werden, ohne dass der User davon was merkt (Virtual!).
Komisch ist ja nur das das "fremde nicht VISTA Programm" das schreiben in das Virtual automatisch kann, und meine LV-Applikation nicht.

' schrieb:Angeblich soll der Effekt weg sein, wenn das Programm respektive der User volle Adminrechte hat.
Das ist so, nur geht das aus diversen Gründen nicht, und sollte ja auch anders gehen.

' schrieb:Vista ist mir bisher zum Glück erspart geblieben.
Du glücklicher..

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2009, 20:46
Beitrag #4

ImExPorty Offline
LVF-Freak
****


Beiträge: 572
Registriert seit: Jan 2008

8.6
2001
kA

65934
Deutschland
LV-Applikationen erstellen die VISTA kompatibel sind
Hallo RoLe,
Zitat:Komisch ist ja nur das das "fremde nicht VISTA Programm" das schreiben in das Virtual automatisch kann, und meine LV-Applikation nicht.

Eine Variante wie es hierzu kommen könnte ist, das das "fremde nicht VISTA Programm" sich den Zielpfad aus den lokalen OS (VISTA) Umgebungsvariablen zusammensetzt.

z.B: Set-Info für
LOCALAPPDATA
(TEMP,TMP) alte Welt

oder die Registry befragt:
HKEY_CURRENT_USERVolatile EnvironmentLOCALAPPDATA
(HKEY_CURRENT_USEREnvironmentTemp
HKEY_CURRENT_USEREnvironmentTmp)

Top1

1 Postingempfehlungen, 2 Motivation
Fragen und Anpassungswünsche per PM werden, gegen Rechnungsstellung gerne beantwortet und realisiert ....wenn's dann doch kostenlos sein soll... bitte hier im LVF unter Berücksichtigung der voranstehenden Links posten.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.02.2009, 10:49
Beitrag #5

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
LV-Applikationen erstellen die VISTA kompatibel sind
' schrieb:Eine Variante wie es hierzu kommen könnte ist, das das "fremde nicht VISTA Programm" sich den Zielpfad aus den lokalen OS (VISTA) Umgebungsvariablen zusammensetzt.

Danke ImExporty, das wäre eine Möglichkeit, aber ich denke das es nicht so ist.
Ich kann den Pfad auch noch mit dem VI- Konstante "Temp-Pfad" oder via API shel32.dll/SHGetFolderPathA abfragen.

Mit allen abfragen komme ich auf den folgenden Pfad: "C:Users<username>AppDataLocal"
Es kann ja nicht sein, das ich je nach OS den Pfad zusammenfummeln muss. (bei Vista kämme da noch "VirtualStoreProgram Filesirgendwas" dazu, und ich vermute, dass das "fremde nicht VISTA Programm" davon nichts weis.)

Grundsätzlich gilt scheinbar folgendes: (siehe http://zone.ni.com/devzone/cda/tut/p/id/5702)
Zitat:Vista stellt automatisch fest, dass der Anwender keine ausreichende Berechtigung hat, die Datei dort zu speichern.
Windows Vista kopiert dann die Datei (falls bereits vorhanden) in:
C:Users<your_account>AppDataLocalVirtualStoreProgram Files<application>Setup.ini
Windows Vista erlaubt dann die Fortsetzung des Schreibvorgangs in der neuen Datei im Ordner VirtualStore. Für spätere Schreib- und Leseoperationen wird dann immer die Kopie der Datei im Ordner „VirtualStore“ verwendet. Für die Anwendung scheint die Datei weiterhin im Ordner „Programme“ (Program Files) zu liegen

Dieser Mechanismus funktioniert scheinbar nicht mit LV-EXE's, es kommt die Fehlermeldung Nr.8 LabVIEW: File permission error. You do not have the correct permissions for the file.

Entweder mache ich was falsch, oder niemand wendet LV in VISTA richtig an.

Für weitere Tipps, Infos und Links bin ich dankbar.
Hasta la VISTA
RoLe

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.02.2009, 21:56
Beitrag #6

ImExPorty Offline
LVF-Freak
****


Beiträge: 572
Registriert seit: Jan 2008

8.6
2001
kA

65934
Deutschland
LV-Applikationen erstellen die VISTA kompatibel sind
Hallo RoLe,
' schrieb:Ich kann den Pfad auch noch mit dem VI- Konstante "Temp-Pfad" oder via API shel32.dll/SHGetFolderPathA abfragen.
Das Du/LV dies kannst, steht sicherlich ausser Frage. Mein Vorschlag bezog sich auf eine "fremde (böse) Applikation", die sich nicht unbedingt an die Mircosoft Sicherheits Idee hält und intern mit "Admin-Rechten" arbeitet, jedoch nach aussen brav auf die aktuellen Benutzerinformationen zugreift. Wir haben hier einige Sriptsprachen, die das leider genau so machen und immer viel "Spass" mit Verwendung deren "Standardpfade" und dem daraus resultierenden Verhalten.

Zitat:Für weitere Tipps, Infos und Links bin ich dankbar.
Eine Idee wäre z.B.: das Deine Applikation unangepasste Rechte hat. => Manifest- Kontrolle
viel ErfolgTop1

1 Postingempfehlungen, 2 Motivation
Fragen und Anpassungswünsche per PM werden, gegen Rechnungsstellung gerne beantwortet und realisiert ....wenn's dann doch kostenlos sein soll... bitte hier im LVF unter Berücksichtigung der voranstehenden Links posten.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.02.2009, 22:12
Beitrag #7

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
LV-Applikationen erstellen die VISTA kompatibel sind
Ich benutze Registry zum Abfragen des AppData Pfades in LV und speichere dort meine INI (besser gesagt XML) Dateien ab.
Aber das Problem liegt woanders. Du willst also eine fremde INI Datei ändern und anpassen. Erstens ist es nicht so toll, aber auch egal, es kann ja auch dafür viele Gründe geben.
Was ich nicht verstehe, warum kann ein anderes (LV-fremdes) Prog auf INI Dateien in für den Nichtadminbenutzer gesperrte Dateien zugreifenund diese abspeichern?
Oder verstehe ich was falsch? Ich benutze Vista schon seit der Zeit, als es rauskam.

Gruß, eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.02.2009, 09:56
Beitrag #8

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
LV-Applikationen erstellen die VISTA kompatibel sind
Hallo ImExPorty,
' schrieb:Das Du/LV dies kannst, steht sicherlich ausser Frage. Mein Vorschlag bezog sich auf eine "fremde (böse) Applikation", die sich nicht unbedingt an die Mircosoft Sicherheits Idee hält und intern mit "Admin-Rechten" arbeitet, jedoch nach aussen brav auf die aktuellen Benutzerinformationen zugreift.
Ich wollte damit nur sagen, das ich nirgens den Pfad zum Virtualstore abfragen kann, denn muss ich mir selber zusammenbauen.
Das sind keine "böse Applikationen", diese funktionieren ja so wie unter VISTA erwartet. VISTA steuert diese automatisch im Hintergrund auf den Virtualstore.
Bei LV-EXE funktioniert das eben nicht.

' schrieb:Eine Idee wäre z.B.: das Deine Applikation unangepasste Rechte hat. => Manifest- Kontrolle

Das muss ich mir mal noch genauer anschauen, aber so wie ich das sehe, sollte es eigentlich mit den default (asInvoker) auch funktionieren. Zudem verwende ich LV, das ich mit solchem nicht runschlagen muss/sollte.
Das einfachste ist sicher, die Sicherheits Ideen von M$ auszuhebeln (Programme nicht in c:programme installieren, als Admin ausführen, usw.).
Es geht mir aber darum, das richtig umzusetzen und nicht irgendwie zum laufen zu bringen.Wink

Gruss
RoLe

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.02.2009, 09:58
Beitrag #9

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
LV-Applikationen erstellen die VISTA kompatibel sind
Hallo eg,
' schrieb:Aber das Problem liegt woanders. Du willst also eine fremde INI Datei ändern und anpassen. Erstens ist es nicht so toll, aber auch egal, es kann ja auch dafür viele Gründe geben.
Was ich nicht verstehe, warum kann ein anderes (LV-fremdes) Prog auf INI Dateien in für den Nichtadminbenutzer gesperrte Dateien zugreifenund diese abspeichern?
Oder verstehe ich was falsch? Ich benutze Vista schon seit der Zeit, als es rauskam.
Da verstehst du was falsch, es ist viel einfacher, hab das wohl zu kompliziert beschrieben.
Ich ändere keine fremde INI Datei, ich möchte diese nur finden und lesen.

Die „nicht LV/nicht für VISTA Programme“ funktionieren alle wie in VISTA erwartet. Bei Einstellungsänderungen innerhalb dieser Programme wird deren INI Datei anstelle von c:Programme... in c:user......virtualstore.. gespeichert. Diese Programme kennen nur c:Programme.. als Speicherort, VISTA biegt das nun um nach VirtualStore.
Bei LV Programmen funktioniert das nicht, das ist mein Problem. Ich verstehe nicht warum dieser VISTA interne Mechanismus bei den anderen Programmen funktioniert, bei den selber erstellten LV-EXE geht das nicht.

Zudem möchte ich diese „fremden INI-Dateien“ lesen. Der Pfad zu diesen Dateien wäre c:Programme.. sind aber im ..Virtualstore. Auch hier funktioniert dieser VISTA Mechanismus nicht. Ich kann nicht mit dem Standardpfad in LV auf c:programmefremdAppfremdApp.ini zugreifen und VISTA lenkt das um nach..Virtualstore

LabVIEW funktioniert so nicht richtig mit VISTA, finde ich.

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.02.2009, 11:10 (Dieser Beitrag wurde zuletzt bearbeitet: 16.02.2009 11:14 von rolfk.)
Beitrag #10

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
LV-Applikationen erstellen die VISTA kompatibel sind
' schrieb:Hallo eg,

Da verstehst du was falsch, es ist viel einfacher, hab das wohl zu kompliziert beschrieben.
Ich ändere keine fremde INI Datei, ich möchte diese nur finden und lesen.

Die „nicht LV/nicht für VISTA Programme“ funktionieren alle wie in VISTA erwartet. Bei Einstellungsänderungen innerhalb dieser Programme wird deren INI Datei anstelle von c:Programme... in c:user......virtualstore.. gespeichert. Diese Programme kennen nur c:Programme.. als Speicherort, VISTA biegt das nun um nach VirtualStore.
Bei LV Programmen funktioniert das nicht, das ist mein Problem. Ich verstehe nicht warum dieser VISTA interne Mechanismus bei den anderen Programmen funktioniert, bei den selber erstellten LV-EXE geht das nicht.

Zudem möchte ich diese „fremden INI-Dateien“ lesen. Der Pfad zu diesen Dateien wäre c:Programme.. sind aber im ..Virtualstore. Auch hier funktioniert dieser VISTA Mechanismus nicht. Ich kann nicht mit dem Standardpfad in LV auf c:programmefremdAppfremdApp.ini zugreifen und VISTA lenkt das um nach..Virtualstore

LabVIEW funktioniert so nicht richtig mit VISTA, finde ich.

VISTA könnte da noch eine extra Sicherheit haben und einer Applikation nur diese Extrabehandlung zukommen lassen wenn sie ein INI File im selben Directory anpassen will als die Applikation selber ist.

Windows hat dafür auch ein spezielles API GetPrivatProfile....() and friends (die automatisch die INI Datei der Applikation anspricht). Ich gehe mal davon aus dass VirutalStore nicht ein Mechansimus ist der auf File API Niveau ausgeführt wird sondern auf oben genannten API and friends. LabVIEW verwendet aber für die INI File VIs nicht dieses API sondern implementiert dies auf den normalen File IO Primitives. Etwas anderes wäre im Sinne der Multiplatformkompatibilität der INI file VIs auch nicht möglich, da die PrivateProfile APIs kein arbiträres INI File zulassen sondern immer nur das Applikations INI File ansprechen (exename mit path und mit der exe Endung in ini umbenannt).

Rolf Kalbermatter

PS: wenn ich mich nicht irre wird die standard Behandlung des INI Files für die LabVIEW eigene INI schon beachtet da LabVIEW dafür die GetPrivatProfileAPI verwendet.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  non-reentrant Sub-VIs in unabhängigen Applikationen Nordvestlys 2 2.361 02.03.2015 11:44
Letzter Beitrag: Nordvestlys
  sind mehrere Indizierungen in einer for-Schleife möglich? Hasenfuss 1 3.103 23.01.2013 19:49
Letzter Beitrag: jg
  Multitouch-Applikationen mit LabView erstellen? SPS-Fuzzi 0 3.317 08.03.2012 10:01
Letzter Beitrag: SPS-Fuzzi
  LV unter Betriebssystem XP und VISTA First 1 4.637 01.12.2009 19:00
Letzter Beitrag: jg
  Vista 64 Bit undLabVIEW joedoe1979 4 6.089 03.06.2009 22:28
Letzter Beitrag: horatius
  LV Runtime 8.6 und visa runtime 4.5 unter vista 64? ed123 0 3.640 27.03.2009 10:27
Letzter Beitrag: ed123

Gehe zu: