# Fehlermeldung "Not a valid Win32 FileTime" beim Setzen der Creation Time einer Datei

**URL:** <https://entwicklergate.de/t/fehlermeldung-not-a-valid-win32-filetime-beim-setzen-der-creation-time-einer-datei/78>\
**Category:** Entwicklung\
**Tags:** file, net, exception\
**Created:** [9. April 2015 um 11:18 UTC](https://entwicklergate.de/t/fehlermeldung-not-a-valid-win32-filetime-beim-setzen-der-creation-time-einer-datei/78 "2015-04-09T11:18:56Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![UweKeim](https://entwicklergate.de/user_avatar/entwicklergate.de/uwekeim/32/432_2.png) [@UweKeim](https://entwicklergate.de/u/UweKeim)\
**Post date:** [9. April 2015 um 11:18 UTC](https://entwicklergate.de/t/fehlermeldung-not-a-valid-win32-filetime-beim-setzen-der-creation-time-einer-datei/78/1 "2015-04-09T11:18:56Z")

</div>

In einem Projekt verwende ich den Aufruf

```cs
if (File.Exists(filePath))
{
    File.SetCreationTime(filePath, date);
}

```

Bei einem Kund trat der Fehler auf:

> Not a valid Win32 FileTime.

Die Exception ist vom Typ `System.ArgumentOutOfRangeException` und der Fehler trat hier im Callstack auf:

```
at System.DateTime.ToFileTimeUtc()
at System.IO.File.SetCreationTimeUtc(String path, DateTime creationTimeUtc)

```

Also innerhalb von `DateTime.ToFileTimeUtc`. [Hier ist der Quelltext der Funktion](http://referencesource.microsoft.com/#mscorlib/system/datetime.cs,a9fb849cbb029a4c).

Ich nutze den Code im Kontext:

1. Creation-Datum von Datei 1 lesen.
2. Dieses gelesene Datum auf Datei 2 setzen.

Und eben dort kommt die Exception. Und nur bei einem Kunden.

**Frage:**

Was kann die Ursache sein und wie genau kann ich sie vermeiden?

**Weitere Recherchen:**

Anscheinend erzeugt folgender Aufruf diese Exception:

```cs
// Not a valid Win32 FileTime.
System.DateTime.MinValue.ToFileTime()

```

Es könnte also sein, dass das Creation-Datum von Datei 1 `DateTime.MinValue` zurück gibt, z.B. weil sie nicht vorhanden ist (so mache ich das auch in der von mir hier verwendeten [ZetaLongPaths-Bibliothek](http://entwicklergate.de/t/dateizugriff-in-net-auf-dateien-mit-mehr-als-260-zeichen-lange/42)).

---

<div class="post-metadata">

**Author:** ![heiner99](https://entwicklergate.de/letter_avatar_proxy/v4/letter/h/278dde/32.png) [@heiner99](https://entwicklergate.de/u/heiner99)\
**Post date:** [5. August 2016 um 11:18 UTC](https://entwicklergate.de/t/fehlermeldung-not-a-valid-win32-filetime-beim-setzen-der-creation-time-einer-datei/78/2 "2016-08-05T11:18:55Z")

</div>

Wenn das Creation-Datum von einer Datei DateTime.MinValue ist  
und DateTime.MinValue ist diesem Zusammenhang eine UTC-Zeit ist  
und der Kunde zum Beispiel in der USA lebt,  
dann wird von der DateTime.MinValue noch mindestens 6 Stunden für die Ortszeit abgezogen,  
dann ergibt „DateTime.MinValue - 6“ eine invalide Zeit.

---

<div class="post-metadata">

**Author:** ![UweKeim](https://entwicklergate.de/user_avatar/entwicklergate.de/uwekeim/32/432_2.png) [@UweKeim](https://entwicklergate.de/u/UweKeim)\
**Post date:** [5. August 2016 um 11:36 UTC](https://entwicklergate.de/t/fehlermeldung-not-a-valid-win32-filetime-beim-setzen-der-creation-time-einer-datei/78/3 "2016-08-05T11:36:46Z")

</div>

Das könnte eine heiße Spur sein!
