Laden...

Installer tut nichts in [AppDataFolder]

Erstellt von ismirschlecht vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.012 Views
I
ismirschlecht Themenstarter:in
45 Beiträge seit 2012
vor 11 Jahren
Installer tut nichts in [AppDataFolder]

Der Titel sagt ja schon Einiges: Mein Setupprojekt muß etliche Order anlegen, samt Unterordnern + Dateien.
Ich arbeite unter Win 7, wo der symbolische Order ProgramData heißt.
Übersetze ich das Setupprojekt, geht die Sache gut, wenn auch mit Kommentaren à la "Im Benutzerprofilordner installiert man nicht..."
Da ich die Arbeit an einem fremden Programm aber fortsetze habe ich keine Wahl: Die Ordner samt Inhalt müssen dort installiert werden.
Führe ich die setup.exe als Admin aus, gleiches Ergebnis.
Die Ordner (nebst Inhalt) werden nicht angelegt, Fehlermeldungen gibts keine.
Liegts an Windows ?
IDE: Visual Studio 2010 Prof.

ism

F
10.010 Beiträge seit 2004
vor 11 Jahren

Nein, an deinem Code, denn das machen ja viele so.
Aber was Du da falsch machst ist ohne Code nicht zu sehen.

c:\ProgramData ist übrigens CommonApplicationData, dein Benutzerprofilordner ist wo anders.

I
ismirschlecht Themenstarter:in
45 Beiträge seit 2012
vor 11 Jahren

c:\ProgramData ist übrigens CommonApplicationData, dein Benutzerprofilordner ist wo anders.

Das wäre ja auch mein Ziel. Es geht definitiv um C:\ProgramData
Leider wird dieser symbolische Ordner [CommonApplicationData] vom Installer nicht angeboten.
Die Einrichtung eines "benutzerdefinierten Ordners", dem ich trickreich die DefaultLocation [CommonApplicationData] ( inklusive der gewünschten Unterordner) verpaßt habe, wird auch nicht beachtet.
ism

16.806 Beiträge seit 2008
vor 11 Jahren

Da drin liegen auch keine Anwendungen an sich, sondern nur deren Daten!
Ich bezweifel, dass der Installer so einen Missbrauch unterstützt oder gar anbietet.
Wahrscheinlich würds aber über Custom Actions gehen - damit geht schließlich fast alles.

F
10.010 Beiträge seit 2004
vor 11 Jahren

@Abt:
Wo schreibt er das da das Programm hingeschrieben wird?

@ismirschlecht:
Wenn es mit den std Mitteln des Installers nicht geht musst du eben eine Custom Action erstellen.

16.806 Beiträge seit 2008
vor 11 Jahren

Die Ordner samt Inhalt müssen dort installiert werden.

Jedenfalls versteh ich das so (also, dass er die Anwendung da rein installieren will und das auch nicht ändern kann, da er die Anwendung von jemand anders übernommen hat).

F
10.010 Beiträge seit 2004
vor 11 Jahren

Es gibt auch Programme die haufenweise veränderliche Daten mitbringen, wie Datendateien ( z.b. SQLite, Resourcen ) usw, und da man die ja nicht im Programmverzeichnis ablegen kann müssen die irgendwo hin.
Wenn man dann nicht benutzerbezogen sein will, muss man CommonApplicationdata benutzen.

16.806 Beiträge seit 2008
vor 11 Jahren

Da stimm ich Dir zu. Ich habs aber so verstanden, dass auch die Anwendung an sich dort installiert werden soll und eben nicht unter ProgramFiles =)

I
ismirschlecht Themenstarter:in
45 Beiträge seit 2012
vor 11 Jahren

Nein, die EXE kommt schön standardmäßig ins eigene Programmverzeichnis C:\Programs\MeineAnwendung.
Es geht hier um gemeinsame Datendateien, die das Programm in
C:\ProgramData\MeinAnwendungsdatenpfad ablegen muß.
Und da ich dieses (fremde) Meisterwerk beruflich übernommen hab, habe ich erstmal keinen Bock, da wild rumzuändern.
Im Übrigen wird beim Installer alles Mögliche, nur nicht ProgramData angeboten.

Also mach ichs beim ersten Starten der EXE im Programm selbst: Verzeichnis anlegen, Daten reinkopieren, fertsch. Unelegant, aber schnell.
ism

5.657 Beiträge seit 2006
vor 11 Jahren

Also mach ichs beim ersten Starten der EXE im Programm selbst: Verzeichnis anlegen, Daten reinkopieren, fertsch. Unelegant, aber schnell.

Nur daß du halt im Zweifelsfall nicht die Rechte dafür hast, und dein Plan nicht aufgeht.

Und da ich dieses (fremde) Meisterwerk beruflich übernommen hab, habe ich erstmal keinen Bock, da wild rumzuändern.

Wild Rumändern, oder Bugfixing sind aber zwei verschiedene Sachen. Ich schätze, der einzige Unterschied ist die Einstellung, mit der man da rangeht...

Weeks of programming can save you hours of planning