Inno-Setup kann userstartup nicht auflösen?

Antworten
seteqsystems
Beiträge: 62
Registriert: 12 Sep 2012, 11:51
Wohnort: Hall in Tirol

Inno-Setup kann userstartup nicht auflösen?

Beitrag von seteqsystems »

Hallo zusammen,

Ich hab hier ein Inno-Setup, das sich via OPSI gar nicht installieren lässt, weil dort in der uninstall-Sektion auf den userstartup-Ordner referenziert wird, den es offenbar im Systemkontext nicht gibt.
Hatte jemand sowas schon mal - was könnte man da tun?

Danke :)

Hier das Log vom Inno-Setup:

Code: Alles auswählen

2021-11-11 14:30:41.369   Starting the installation process.
2021-11-11 14:30:41.376   Warning: SHGetFolderPath failed with code 0x80070002 on folder 0x8007
2021-11-11 14:30:41.376   Fatal exception during installation process (Exception):
                          Interner Fehler: Failed to expand shell folder constant "userstartup"
2021-11-11 14:30:41.376   Exception message:
2021-11-11 14:30:41.376   Defaulting to OK for suppressed message box (OK):
                          Interner Fehler: Failed to expand shell folder constant "userstartup"
2021-11-11 14:30:41.376   Defaulting to OK for suppressed message box (OK):
                          Das Setup konnte nicht abgeschlossen werden.
                          
                          Beheben Sie bitte das Problem, und starten Sie das Setup erneut.
2021-11-11 14:30:41.376   Rolling back changes.
Und der Auszug aus dem .iss-file:

Code: Alles auswählen

[InstallDelete]
Type: files; Name: "{userdesktop}\application.lnk"; 
Type: files; Name: "{userstartup}\application.lnk"; 
seteqsystems
Beiträge: 62
Registriert: 12 Sep 2012, 11:51
Wohnort: Hall in Tirol

Re: Inno-Setup kann userstartup nicht auflösen?

Beitrag von seteqsystems »

Lösung hab ich keine, aber mehr Infos dazu:

Ich hab jetzt mit einem Inno-Unpacker das ursprüngliche ISS-Script extrahiert.
Es ist wirklich so, dass im Uninstall-Zweig User-Ordner referenziert werden, die die Inno-Engine mit dem SYSTEM-Account nicht findet.
Ähnliche Probleme gab es auch mal beim WinSCP-Installer wenn man explizit danach sucht.

Ich hab dem Softwarehersteller jetzt das Problem mal geschildert - der meine darauf nur "bitte als Administrator starten" :P
mattiasmab
Beiträge: 90
Registriert: 29 Jan 2021, 12:17

Re: Inno-Setup kann userstartup nicht auflösen?

Beitrag von mattiasmab »

Ohne weitere Informationen - folgende Vorschläge:
  1. Ist es ein bestimmter Task, der evtl. deaktiviert werden kann? Dazu am besten manuell mit `/SAVEINF="filename"` starten und falls es ein Task (eine auswählbare Option) ist, dann per:

    Code: Alles auswählen

    installer.exe /MERGETASKS="!desktopicon"    <----- bzw. der Taskname
    
  2. Prüfe doch einmal, ob die Ordner wirklich nicht existieren. Bei mir sind sie gerade da, was aber nicht heißen muss, dass das ab Werk war. Prüfe das mal mit (Powershell):

    Code: Alles auswählen

    $ShellExp = New-Object -ComObject Shell.Application
    $path = $ShellExp.NameSpace(0x7).Self.Path
    Test-Path $path
    
    Die Abfrage legt den Ordner eigentlich schon an, aber ansonsten lege den Ordner händisch an (oder im Script per `new-item -Path $path -ItemType Directory`). Das sollte nicht stören, aber der (Un)Installer wäre glücklich.
    Sollte etwas sein wie: `C:\Windows\System32\config\systemprofile\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup`
  3. Wenn du das Script eh hast - mache die "Installation" selbst per OPSI. Also Dateien kopieren, registry anpassen und evtl. dlls registrieren. Schön ist was anderes, aber bei der Antwort hilft Hersteller nerven vermutlich nicht...
EDIT: Punkt1 geht vermutlich nicht, da InstallDelete eine PreInstall-Sektion zu sein scheint.
Antworten