12 Replies Latest reply on May 22, 2017 12:54 AM by derniwi

    NIR wird nur Teilweise ausgeführt

    CGR Specialist
      Hi Guys,

      ich versuche gerade über eine nir Datei dem PC eine Dateizuordnung zu verpassen. Und zwar soll der Rechner .hod Dateien mit einem bestimmten Programm öffnen.

      Die Nir lautet folgendermaßen und wird mit RegLoad direkt vom Projektverzeichnis aus ausgeführt. "immer ausführen"

      REGEDIT4

      [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.hod\OpenWithList]
      "a"="acslaunch_win-64.exe"
      "MRUList"="a"

      [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.hod\OpenWithProgids]
      "hod_auto_file"=hex(0):

      [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.hod\UserChoice]
      "Hash"="R6hvNYww8cM="
      "ProgId"="Applications\\acslaunch_win-64.exe"



      Das komische ist. Manchmal klappts, dann lösch ich die Werte aus der Registry wieder raus und dann klappt es plötzlich nicht mehr oder nur noch teilweise
        • 1. Re: NIR wird nur Teilweise ausgeführt
          _Mel_ Master
          schau mal ins installerlogfile ob der befehl ausgeführt wird und ob die paketausführung für maschinen oder benutzerteil gemacht wird (teilweise haben die registrybefehle logik drin, daß HKCU nur für benutzerteile und HKLM nur für maschinenteile modifiziert wird)
          • 2. Re: NIR wird nur Teilweise ausgeführt
            CGR Specialist

            schau mal ins installerlogfile ob der befehl ausgeführt wird und ob die paketausführung für maschinen oder benutzerteil gemacht wird (teilweise haben die registrybefehle logik drin, daß HKCU nur für benutzerteile und HKLM nur für maschinenteile modifiziert wird)





            11:46:37.877 2       -> RegLoad('C:\Program Files (x86)\Common Files\enteo\RepositoryCache\31355\rev\1\Extern$\IBMCS.nir')
            11:46:37.877 1        xniFPS: Loading file 'C:\Program Files (x86)\Common Files\enteo\RepositoryCache\31355\rev\1\Extern$\IBMCS.nir'
            11:46:37.877 2        Doing only changes in HKLM,HKCC,HKCR,HKU,, skipping HKCU,
            11:46:37.877 1        Registrierdatenbank ändern...
            11:46:37.877 2       xniFPS: '{83277DA2-3B88-4352-A37B-BED00458EB4B}' is installed


            Egal ob der RegLoad Teil als "immer ausführen" oder "Benutzerbezogen" geflagt
            • 3. Re: NIR wird nur Teilweise ausgeführt
              NicoS1 Master
              Hallo Chris,

              1. das Paket wird aber schon mit dem AutoInstaller und nicht mit dem ServiceInstaller ausgeführt? Letzterer macht nämlich keine HKCU Anderungen.

              2. Der Userteil ist nicht zufällig schon ausgeführt worden? (nimoni prüfen)

              Gruß
              • 4. Re: NIR wird nur Teilweise ausgeführt
                CGR Specialist

                Hallo Chris,

                1. das Paket wird aber schon mit dem AutoInstaller und nicht mit dem ServiceInstaller ausgeführt? Letzterer macht nämlich keine HKCU Anderungen.

                2. Der Userteil ist nicht zufällig schon ausgeführt worden? (nimoni prüfen)

                Gruß



                1. Wo seh ich das?
                2. nimoni :-)?
                • 5. Re: NIR wird nur Teilweise ausgeführt
                  NicoS1 Master
                  1. In welchem Logfile hast du denn nachgeschaut?
                  NIAI32_... = Logfile des Autoinstallers
                  NISRV32... = Logfile des Serviceinstallers

                  2. Start => Ausführen (Windows Taste + R) => nimoni eingeben und enter drücken.
                  Dort "Zeige Liste der installierten Skripte"

                  Oben in der Ansicht = Userteile der Pakete, für den User unter dem du die NIMONI gestartet hast, unterer Teil = Maschinenteile.

                  Ist quasi eine etwas schönere Ansicht auf die "InstalledApps" Registry Keys des DSM Agents.
                  • 6. Re: NIR wird nur Teilweise ausgeführt
                    CGR Specialist

                    1. In welchem Logfile hast du denn nachgeschaut?
                    NIAI32_... = Logfile des Autoinstallers
                    NISRV32... = Logfile des Serviceinstallers

                    2. Start => Ausführen (Windows Taste + R) => nimoni eingeben und enter drücken.
                    Dort "Zeige Liste der installierten Skripte"

                    Oben in der Ansicht = Userteile der Pakete, für den User unter dem du die NIMONI gestartet hast, unterer Teil = Maschinenteile.

                    Ist quasi eine etwas schönere Ansicht auf die "InstalledApps" Registry Keys des DSM Agents.




                    1. NIRS32_administrator_18.LOG
                    2. Aja da hab ich bei computerbezogen einen Eintrag und bei Benutzerbezogen nicht. (Der Teil wurde einmal ausgeführt aber als ich die Registry Keys händisch gelöscht habe und das Paket nochmals ausgeführt habe wurde nur der Computerbezogene Teil ausgeführt) Woran liegts?
                    • 7. Re: NIR wird nur Teilweise ausgeführt
                      LjokajK Expert
                      Hallo Chris,

                      wie Nico bereits erwähnt hat, wenn die benutzerbezogenen Teile bereits gelaufen sind, rennt das nicht nochmals los. Du musst nicht nur den RegKey löschen, den du setzen willst, sondern  auch den RegKey der NI-benutzerbezogenen installationen. HKCU\Software\Netsupport\Netinstall\Installed Apps

                      Dort gibt es einen Schlüssel zu deinem Paket. Lösch diesen unter dem Benutzer weg. DANACH kannst du das nochmals ausführen.
                      • 8. Re: NIR wird nur Teilweise ausgeführt
                        CGR Specialist

                        Hallo Chris,

                        wie Nico bereits erwähnt hat, wenn die benutzerbezogenen Teile bereits gelaufen sind, rennt das nicht nochmals los. Du musst nicht nur den RegKey löschen, den du setzen willst, sondern  auch den RegKey der NI-benutzerbezogenen installationen. HKCU\Software\Netsupport\Netinstall\Installed Apps

                        Dort gibt es einen Schlüssel zu deinem Paket. Lösch diesen unter dem Benutzer weg. DANACH kannst du das nochmals ausführen.



                        Ah k, das hilft schon mal weiter. Anscheinend gibts noch ein Problem mit dem Hash Wert. Aber Danke schonmal.
                        • 10. Re: NIR wird nur Teilweise ausgeführt
                          _Mel_ Master
                          Raymond Chen hat aktuell was dazu geschrieben
                          https://blogs.msdn.microsoft.com/oldnewthing/20170517-00/?p=96175

                          und hier ist die doku von microsoft dazu:
                          https://msdn.microsoft.com/en-us/library/windows/desktop/cc144148.aspx

                          die idee wäre einfach den default in HKLM zu setzen und nicht über die user registry zu gehen. sollte funktionieren, wenn der benutzer nicht explizit ein anderes programm wählt.
                          • 11. Re: NIR wird nur Teilweise ausgeführt
                            Ratzratz Expert
                            Hallo Chris,

                            der saubere Weg wäre, das nicht benutzerbezogen, sondern maschinenbezogen per "assoc" und "ftype" zu lösen. Dann muss man sich auch keine Gedanken wegen irgendwelcher Registrierungseinträge machen.

                            z.B. so:

                            ExecuteEx('%WINSYSDIR%\cmd.exe /C assoc .hod=hod_auto_file','','')/?/x64/TS
                            ExecuteEx('%WINSYSDIR%\cmd.exe /C ftype hod_auto_file="Pfad-zu-acslaunch_win-64.exe\acslaunch_win-64.exe" "%1"','','')/?/x64/TS



                            Wenn die Benutzer allerding schon diesen Eintrag unter "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.hod]" gesetzt haben, bringt das nichts mehr, da der benutzerbezogene Eintrag Vorrang hat.

                            Gruß
                            Matthias
                            • 12. Re: NIR wird nur Teilweise ausgeführt
                              derniwi Master
                              Hallo zusammen,

                              bzgl. der Dateitypzuordnung über assoc und ftype habe ich vor einiger Zeit mal einen Feature Request erstellt, damit diese Befehl direkt über eScript verwendet werden bzw. evtl. nur ein Befehl gebraucht wird (Incident 30207182).

                              Alternativ kann man hier auch ein .cmd-Skript mit den beiden o.g. Zeilen erstellen, dieses im Programmverzeichnis (also bei der .exe) ablegen und - wenn es sein muss - dieses beim Anmelden eines Benutzers per Autostart (entweder als Verknüpfung im Autostart-Ordner oder per Registry) bei jedem Anmelden starten. Aber auf jeden Fall wäre eine Verknüpfung im Startmenü im Programmordner hilfreich. Und einmal pro Benutzer kann man das Skript dann auch ausführen.

                              Gruß
                              Nils