MSI per-User-Installation
Hallo Forum-User,
Ich entwickle Basic-MSIs mit Flexera-Installshield, wenn Daten kein Setup haben, z.B. speziell Setting für SAP usw. Settings die im User-Bereich installiert werden müssen (%APPDATA%, %LOCALAPPDATA%, HKCU) habe ich bisher immer via Active-Setup aufgebacht.
Eine Änderung unserer "Installations-Philosophie" (<= nicht meine Idee), sieht es nun vor, keine Neustarts des Systems mehr vorzunehmen, zu erzwingen bzw. dazu aufzufordern. Somit ist Active-Setup nur noch bedingt einsetzbar, weil User-Settings schon während des Setups vorgenommen werden müssen. Das ist aber bei einer Per-Machine-Installations tlw. nicht möglich so wie ich das sehe.
Mein Problem:
Egal in welcher Sequenz, ich kann nicht in HKCU schreiben, auch nicht über eine CA, weil Windows-Installer eine MSI zuerst immer im MACHINE-Kontext ausführen will, sprich:
Meine Idee war also eine reine "per-User-MSI" zu erstellen die dann via SCCM im "User-Context" ausgeführt werden kann, auch wenn der User keine administrativen Rechte hat. In der Registry sollte die MSI bzw. das Setup dann:
BSP:
in der Entwicklungsumgebung von Installshield und auch Adminstudio gibt es dafür das Flag "Show Per-User Option" = YES. Gleichzeitig muss das Flag "Require Administrative Privileges" = NO gesetzt werden
Das führt aber nicht zum Erforg. Die MSI will sich immer noch unter HKLM registrieren.
Verschiedene Versuche mit den Properties im Property Manager dito. Kein Erfolg:
Siehe dazu auch: community.flexera.com/t5/InstallShield-Forum/ALLUSERS-property-and-InstallOption/m-p/68580
Fragen:
Hat irgendjemand eine Idee wie ich eine simple Basic-MSI dazu bekomme,
A) nicht nach administrativen Rechten zu schreien
B) sich ausschließlich in HKCU und %APPDATA% bzw %LOCALAPPDTA% zu tummeln, wenn ich auch nur dort schreiben will
Ich hoffe ich habe mich halbwegs klar ausgedrückt!
Danke für die Unterstützung und beste Grüße!
Mayho
Ich entwickle Basic-MSIs mit Flexera-Installshield, wenn Daten kein Setup haben, z.B. speziell Setting für SAP usw. Settings die im User-Bereich installiert werden müssen (%APPDATA%, %LOCALAPPDATA%, HKCU) habe ich bisher immer via Active-Setup aufgebacht.
Eine Änderung unserer "Installations-Philosophie" (<= nicht meine Idee), sieht es nun vor, keine Neustarts des Systems mehr vorzunehmen, zu erzwingen bzw. dazu aufzufordern. Somit ist Active-Setup nur noch bedingt einsetzbar, weil User-Settings schon während des Setups vorgenommen werden müssen. Das ist aber bei einer Per-Machine-Installations tlw. nicht möglich so wie ich das sehe.
Mein Problem:
Egal in welcher Sequenz, ich kann nicht in HKCU schreiben, auch nicht über eine CA, weil Windows-Installer eine MSI zuerst immer im MACHINE-Kontext ausführen will, sprich:
- Anfordern administrativer Rechte, bzw. UAC springt an
- Registration der MSI unter HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- Ablegen der TMP-MSI unter C:\Windows\Installer
- usw.
Meine Idee war also eine reine "per-User-MSI" zu erstellen die dann via SCCM im "User-Context" ausgeführt werden kann, auch wenn der User keine administrativen Rechte hat. In der Registry sollte die MSI bzw. das Setup dann:
- im HKCU registriert sein
- die Tmp-MSI irgendwo unter %LOCALAPPDATA% liegen
- keine administrativen Rechte anfordern
BSP:
in der Entwicklungsumgebung von Installshield und auch Adminstudio gibt es dafür das Flag "Show Per-User Option" = YES. Gleichzeitig muss das Flag "Require Administrative Privileges" = NO gesetzt werden
Das führt aber nicht zum Erforg. Die MSI will sich immer noch unter HKLM registrieren.
Verschiedene Versuche mit den Properties im Property Manager dito. Kein Erfolg:
- ALLSUERS=2 + MSIINSTALLPERUSER=1
- ALLUSERS=NULL + MSIINSTALLPERUSER=1
- ALLUSERS=NULL + MSIINSTALLPERUSER=1 + ApplicationUsers = OnlyCurrentUser
- msiexec /i "meine.msi" ALLUSER=2 MSIINSTALLPERUSER=1 /qn
Siehe dazu auch: community.flexera.com/t5/InstallShield-Forum/ALLUSERS-property-and-InstallOption/m-p/68580
Fragen:
Hat irgendjemand eine Idee wie ich eine simple Basic-MSI dazu bekomme,
A) nicht nach administrativen Rechten zu schreien
B) sich ausschließlich in HKCU und %APPDATA% bzw %LOCALAPPDTA% zu tummeln, wenn ich auch nur dort schreiben will
Ich hoffe ich habe mich halbwegs klar ausgedrückt!
Danke für die Unterstützung und beste Grüße!
Mayho
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6237065050
Url: https://administrator.de/contentid/6237065050
Ausgedruckt am: 23.11.2024 um 22:11 Uhr
6 Kommentare
Neuester Kommentar
Hi,
wenn es rein Per-User sein soll, dann darf ALLUSERS nicht 1 oder 2 sein sondern muss 0 oder leer sein.
Bearbeite mal mit z.B. Orca das MSI und schau, was da unter ALLUSERS als Wert eingetragen ist.
Ich habe hier nur nur ne ältere Express Version von InstallShield. Da verbirgt sich das im Block "General".
E.
Edit:
Laut Hilfe:
wenn es rein Per-User sein soll, dann darf ALLUSERS nicht 1 oder 2 sein sondern muss 0 oder leer sein.
Bearbeite mal mit z.B. Orca das MSI und schau, was da unter ALLUSERS als Wert eingetragen ist.
Ich habe hier nur nur ne ältere Express Version von InstallShield. Da verbirgt sich das im Block "General".
E.
Edit:
Laut Hilfe:
If the value of the ALLUSERS property does not equal 2, the Windows Installer ignores the value of the MSIINSTALLPERUSER property.
m.E. würde es reichen, wenn Du das MSI mit Orca editierst und ALLUSERS auf 0 oder {leer} setzt. Sowas habe ich auch schon öfters gemacht.