Dell Command & Configure

Software & OS

Software & OS
A description has not yet been added to this group.

Dell Command & Configure

This question has been answered by DELL-Tom G

Man nehme C&C in v3.2.0 und setze die Bootorder und richte dann 8 Geräte ein und beim Erstellen des 9. Gerätes stürzt C&C reproduzierbar bei mir ab. Testweise an zweitem PC ausprobiert. Gleiches Problem.


Fehlermeldung:  Unerwarteter Fehler bei cctkgui: Der Wert darf nicht NULL sein. Parametername: reference


Selbes Verhalten bei der v3.1.0.250.

Frage nebenbei: Beim Bootmanager wird doch bei den Dellis zB DVD & USB-DVD als ein Eintrag gehandhabt, warum wird dann bei der Bootorder im C&C je ein separater Eintrag draus gemacht?

Fehlermeldungen aus dem Ereignisprotokoll: (XML-Ansicht)

.NET Runtime

-------------------

- <System>
  <Provider Name=".NET Runtime" />
  <EventID Qualifiers="0">1026</EventID>
  <Level>2</Level>
  <Task>0</Task>
  <Keywords>0x80000000000000</Keywords>
  <TimeCreated SystemTime="2017-03-22T08:44:20.000000000Z" />
  <EventRecordID>16147</EventRecordID>
  <Channel>Application</Channel>
  <Computer>HOSTNAME ersetzt</Computer>
  <Security />
  </System>
- <EventData>
  <Data>Anwendung: cctkgui.exe Frameworkversion: v4.0.30319 Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet. Ausnahmeinformationen: System.ArgumentNullException bei CCTK.Views.PopupContent.BootOrderView.GetMouseTargetRow(System.Windows.Media.Visual, GetPosition) bei CCTK.Views.PopupContent.BootOrderView.GetCurrentRowIndex(GetPosition) bei CCTK.Views.PopupContent.BootOrderView.uiDataGrid_PreviewMouseLeftButtonDown(System.Object, System.Windows.Input.MouseButtonEventArgs) bei System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object) bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs) bei System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean) bei System.Windows.UIElement.ReRaiseEventAs(System.Windows.DependencyObject, System.Windows.RoutedEventArgs, System.Windows.RoutedEvent) bei System.Windows.UIElement.OnPreviewMouseDownThunk(System.Object, System.Windows.Input.MouseButtonEventArgs) bei System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object) bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs) bei System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean) bei System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs) bei System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs) bei System.Windows.Input.InputManager.ProcessStagingArea() bei System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport) bei System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr, System.Windows.Input.InputMode, Int32, System.Windows.Input.RawMouseActions, Int32, Int32, Int32) bei System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr, MS.Internal.Interop.WindowMessage, IntPtr, IntPtr, Boolean ByRef) bei System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) bei MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) bei MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) bei System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) bei System.Windows.Application.RunDispatcher(System.Object) bei System.Windows.Application.RunInternal(System.Windows.Window) bei CCTK.SingleInstanceManager.OnStartup(Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel() bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String[]) bei CCTK.SingleInstanceManager.Main(System.String[])</Data>
  </EventData>
  </Event>
--------------------------------------------------------------------------------------------------------------
Application Error
----------------------
- <System>
  <Provider Name="Application Error" />
  <EventID Qualifiers="0">1000</EventID>
  <Level>2</Level>
  <Task>100</Task>
  <Keywords>0x80000000000000</Keywords>
  <TimeCreated SystemTime="2017-03-22T08:44:20.000000000Z" />
  <EventRecordID>16148</EventRecordID>
  <Channel>Application</Channel>
  <Computer>HOSTNAME ersetzt</Computer>
  <Security />
  </System>
- <EventData>
  <Data>cctkgui.exe</Data>
  <Data>3.1.0.0</Data>
  <Data>559147c2</Data>
  <Data>KERNELBASE.dll</Data>
  <Data>6.1.7601.23677</Data>
  <Data>589c9a27</Data>
  <Data>e0434352</Data>
  <Data>000000000001a06d</Data>
  <Data>1048</Data>
  <Data>01d2a2e84183ba65</Data>
  <Data>C:\Program Files (x86)\Dell\Command Configure\cctkgui.exe</Data>
  <Data>C:\WINDOWS\system32\KERNELBASE.dll</Data>
  <Data>bd4e09b0-0edb-11e7-9247-001aa0e4dfba</Data>
  </EventData>
  </Event>
Verified Answer
  • Genau. "alwaysexceptinternalhdd" ist der korrekte Weg dafür. PXE sollte damit weiterhin funktionieren. dafür würde es ja den UEFI Network Stack geben.

    Danke und Grüße

    Tom

All Replies
  • Hi,

    Hab ich leider noch nicht gehört und kann nicht die passende Antwort liefern. Muss denn im Anschluss die Applikation geschlossen werden oder funktioniert diese weiterhin?

    In den Release Notes steht etwas von diesem Unexpected Error.


    Issue: Unexpected Error

    Description: Rarely, when .NET libraries may not have loaded properly, while exporting the SCE the following error message is displayed: Unexpected Error.

    NOTE: This does not affect the Dell Command | Configure functionality

    Resolution: Export the SCE again, and it will be successful.


    Beim Bootmanager wird doch bei den Dellis zB DVD & USB-DVD als ein Eintrag gehandhabt, warum wird dann bei der Bootorder im C&C je ein separater Eintrag draus gemacht?

    Müsste ich jetzt nachschauen. Aber bei einem Legacy Boot und eingebauten DVD Laufwerk und angeschlossenem USB Laufwerk sollten auch beide Geräte im Boot Manager auftauchen.

    Habe aber leider beides gerade nicht zur Hand.

    Grüße

    Tom

  • Hallo Tom,


    wird nicht sofort automatisch geschlossen, erst nachdem man nach dem Fehler "OK" geklickt hat und dann nochmal in der Oberfläche rumklickt schließt es sich automatisch.

    DELL-Tom G

    In den Release Notes steht etwas von diesem Unexpected Error.


    Issue: Unexpected Error

    Description: Rarely, when .NET libraries may not have loaded properly, while exporting the SCE the following error message is displayed: Unexpected Error.

    NOTE: This does not affect the Dell Command | Configure functionality

    Resolution: Export the SCE again, and it will be successful.


    Das ist aber nicht derselbe Fehler, denn bei meinem handelt es sich NICHT um einen versuchten Export.

    Bzgl. Bootmenü:

    Habe ich ein eingebautes DVD und ein DVD per USB angebunden, gibt es trotzdem nur einen Eintrag im Bootmanager bzg. DVD und nicht 2 unterschiedliche (wie es zB bei mir daheim der Fall ist) daher verstehe ich die Unterscheidung im C&C nicht wirklich, aber wie gesagt, nur so am Rande bemerkt. Das kritischere finde ich den Programmabsturz.


    C&C 3.2.0 ist in 2 Minuten installiert und dann kann das ja mal jemand testen mit den 9 Einträgen in der Bootorder. Ist ingesamt eine Sache von 5 Minuten. Vielleicht geht es ja auch nur mir so :)

    mfg Sascha

  • Hi Sascha,

    Japp - hab es schon runter geladen. Muss nur noch dazu kommen. :)

    Wie gesagt beim Bootmenü - ich habe jetzt gerade keine Utensilien da. Aber ich bin mir sicher, dass es irgendeinen Rechner geben wird, der das so anzeigt. Das Command Configure ist ja vom CCTK und das ist schon einige "Tage" alt. ;)

    Ich schau, dass ich es zeitnah schaffe um den Fehler zu verifizieren.

    Grüße

    Tom

  • Hi Sascha,

    Hab das gleiche. Gut reproduzierbar. Man kann das 9. Gerät zwar noch in der Liste hinzufügen - beim reinklicken war es dass dann aber.

    Ich werde da mal mit einem Kollegen darüber sprechen. Mal schauen was er sagt.

    Vorerst bleib also bitte bei 8 Geräten in der Bootorder.

    Grüße

    Tom

  • So ich nochmal. Ist adressiert. Kollege hat´s auch verifizieren können und weiter gegeben. Nur vorab... Ich weiß nicht wann es gefixt wird. ;)

    Grüße

    Tom

  • Hallo Tom,

    vielen Dank. Prompte Reaktion. Ich muss nun mit nur 8 Geräten auskommen :( Naja ich glaube 99,95% sollten abgedeckt sein.

    Bin mal gespannt wann es denn dann gefixt wird.

    Dankeschön.

    Sascha

  • Hi Sascha,

    Gern geschehen. :)

    Ich hoffe, dass es keine allzu großen Umstände bei euch gibt. Wann die Entwickler sich darum kümmern bzw. einen Fix bereit stellen können, wissen wir leider noch nicht. 

    Grüße

    Tom

  • Hallo Tom,


    da hätte ich direkt noch einen Verbesserungsvorschlag da ich gerade am Testen bin...


    Meine selbstgesetzte Aufgabe: BIOS Setup Passwort setzen, Bootmenü auf PXE/NIC und HDD beschränken und noch ein paar Kleinigkeiten im BIOS setzen

    Bis auf die Einschränkungenen bei der Anzahl der per Bootorder konfigurierbaren Devices alles ok, aber wir haben noch alte Precisions mit eingebauten eSATA. Die Bootmöglichkeit von eSATA kann ich nicht unterbinden, ich vermute weil es quasi als HDD gesehen wird und damit erlaubt ist. OK, die Geräte sind  eh auf dem Rückzug (Precision T3500) und die Anschlussmöglichkeit von externen Platten per eSATA will ich nicht komplett ausschalten, indem ich zB unter Drives eSATA ausschalten würde, ABER

    ich habe hier noch eine PCI-Express Steckkarte mit 2 eSATA Buchsen in einem Precision 490 ! und wenn ich dort was gesteckt ist, dann kann ich davon booten. Das gefällt mir natürlich gar nicht. Meldet sich im Bootmenü als "03:00-0  Samsung SSD" (anstatt zB. SATA0-Samsung...)


    Wenn ich in der Doku nachschaue, sehe ich bei Bootorder folgendes Statement:

    ----------------------

    NOTE: For legacy boot list, unknown devices are displayed as hexadecimal values.

    ----------------------

    Soll das heißen, ich könnte mit "-03:00" dieses Device auch deaktivieren?


    Hier meine CCTK Konfiguration:

    [cctk]
    admsetuplockout=enable
    bootorder=legacytype,+hdd,+embnic,+nic,-floppy,-cdrom,-usbcdrom,-usbdev,-usbhdd
    oromuiprotection=enable
    pwdlock=lock
    sfuenabled=yes
    smarterrors=enable
    uefibootpathsecurity=alwaysexceptinternalhdd
    ;setuppwd=<password removed>

    Ich hätte als Verbesserungsvorschlag einzubringen, dass man bei der Bootorder alles was nicht aktiviert ist, einfach als deaktiviert setzt oder zumindest als deaktiviert setzen kann.

    Spasseshalber habe ich gerade mal die CCTK exportiert, händisch mit Notepad++ die Bootorder erweitert und zwar auf:

    bootorder=legacytype,+hdd,+embnic,+nic,-floppy,-cdrom,-usbcdrom,-usbdev,-usbhdd,-bev,-usbfloppy,-pcmcia,-usbzip,-usbdevzip

    um es dann abzuspeichern und dann in C&C zu importieren. Klickt man die Bootorder an und will sich diese anschauen, dann stürzt das Programm ab, lässt man das aber nach dem Import einfach bleiben dann kann man sich daraus erfolgreich eine EXE bauen und laut HTML sind die Bootordereinstellungen auch gesetzt.

    mfg Sascha

  • Hallo Sascha,

    490? - Schön zu sehen, dass diese Geräte so eine Laufzeit mit machen. :)

    eSATA ist schwierig. Also für diese spezielle Precision (490) kann man das so deaktivieren. Ich weiß jetzt aber nicht, wie eine andere Precision darauf reagiert die eventuell einen weiteren Controller verbaut hat. Ich denke mal der Hex Value ist anders - aber ich möchte es nicht beschwören.

    Bzgl. der one and only Lösung hatte ich jetzt gehofft, dass C:\>cctk --bootseqset=harddiskonly es  eventuell sein könnte. Allerdings werden hier nachfolgende Option ROMs gelistet, was natürlich Quatsch ist.

    Allerdings könnte ein folgendes C:\>cctk --legacyorom=disable Die Optionroms wieder deaktivieren.

    Somit könntest du auf die Boot Order List dann theoretisch ganz verzichten oder?

    Ich hoffe das klappt vielleicht so und ich habe keinen Denkfehler drin.

    Dein Workaround ist simpel und effektiv! Danke für den Tipp. :)

    Grüße

    Tom

  • Hallo Tom,


    dein Tipp mit den OROMs:

    DELL-Tom G

    Allerdings könnte ein folgendes C:\>cctk --legacyorom=disable Die Optionroms wieder deaktivieren.

    Somit könntest du auf die Boot Order List dann theoretisch ganz verzichten oder?

    Ich hoffe das klappt vielleicht so und ich habe keinen Denkfehler drin.

    könnte passen, allerdings vermute ich (ohne es getestet zu haben) dass ich dann gar nicht auf das Options-ROM bzw. dessen angeschlossene Geräte zugreifen kann.

    Egal :) Mir reicht erstmal unsere jetzige Lösung.

    UEFI ist noch ein Ding was zu testen wäre, scheint mir mit "--uefibootpathsecurity=alwaysexceptinternalhdd" aber relativ simpel zu sein, aber ob dann PXE noch funktioniert?

    Ticket kann dann geschlossen werden.

    mfg Sascha

  • Genau. "alwaysexceptinternalhdd" ist der korrekte Weg dafür. PXE sollte damit weiterhin funktionieren. dafür würde es ja den UEFI Network Stack geben.

    Danke und Grüße

    Tom

  • Hi Tom,


    noch kurz ein bisschen Senf von mir:

    • der Precision 490 verhält sich beim Setuppasswordreset per EXE seltsam (erkennt das übergebene Passwort als nicht gültig an) obwohl es definitv stimmt, denn ich kann mich am BIOS direkt damit authentifizieren. Die EXE funktioniert auch an anderen Maschinen (meine Testmaschinen: Optiplex 755, Precision 3500 & 3600, Venue 11 Pro 7139)                                            Von dem 490ern haben wir nur noch 4 (ich vermute, ohne es getestet zu haben, dass es sich beim 390er gleich verhält - davon haben wir noch 8) zur Not müssen wir dann halt von Hand ran
    • Verbesserungsvorschlag: nehmt doch bitte den Hostnamen und den Benutzernamen des Ausführenden mit in das Protokoll auf (also in die Textdatei die generiert wird, wenn die EXE ausgeführt wird) --> wenn die Entwickler eh schon C&C anpassen müssen/werden/wolen ... Big Smile

    Danke Sascha