Compare commits
2 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
b07a3b3a87 | |
|
|
f620e96d23 |
26
README.md
26
README.md
|
|
@ -42,6 +42,32 @@ Windows-Anwendung zur bidirektionalen Synchronisation von Kontakten zwischen Mic
|
||||||
5. Starface-Adressbuch und Outlook-Kontaktordner waehlen
|
5. Starface-Adressbuch und Outlook-Kontaktordner waehlen
|
||||||
6. Speichern und "Jetzt synchronisieren"
|
6. Speichern und "Jetzt synchronisieren"
|
||||||
|
|
||||||
|
### Outlook-Sicherheitsabfrage unterdruecken
|
||||||
|
|
||||||
|
Beim Zugriff auf Outlook-Kontakte zeigt Outlook standardmaessig einen
|
||||||
|
Sicherheitsdialog ("Ein Programm versucht auf Ihre E-Mail-Adressinformationen
|
||||||
|
zuzugreifen"). Dieser kann in den Einstellungen der App deaktiviert werden:
|
||||||
|
|
||||||
|
1. In der App auf "Einstellungen" klicken
|
||||||
|
2. "Outlook-Sicherheitsabfrage automatisch erlauben" aktivieren
|
||||||
|
3. Speichern
|
||||||
|
|
||||||
|
**Auf Domaenen-PCs / Terminal Servern:**
|
||||||
|
|
||||||
|
Die Outlook-Sicherheitseinstellungen werden dort per Gruppenrichtlinie (GPO)
|
||||||
|
gesteuert und sind im Trust Center ausgegraut. In diesem Fall muss die App
|
||||||
|
**einmalig als Administrator** gestartet werden, damit die Registry-Keys
|
||||||
|
unter HKLM geschrieben werden koennen:
|
||||||
|
|
||||||
|
1. Rechtsklick auf die App -> "Als Administrator ausfuehren"
|
||||||
|
2. Einstellungen -> "Outlook-Sicherheitsabfrage automatisch erlauben" aktivieren
|
||||||
|
3. Speichern und App schliessen
|
||||||
|
4. Outlook neu starten
|
||||||
|
5. App kann danach wieder normal (ohne Admin) gestartet werden
|
||||||
|
|
||||||
|
Die Einstellung bleibt dauerhaft bestehen und gilt fuer alle Benutzer
|
||||||
|
auf dem Rechner.
|
||||||
|
|
||||||
### Deinstallation
|
### Deinstallation
|
||||||
|
|
||||||
Ueber Windows Einstellungen -> Apps oder die Systemsteuerung.
|
Ueber Windows Einstellungen -> Apps oder die Systemsteuerung.
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,21 @@ namespace StarfaceOutlookSync.Services
|
||||||
|
|
||||||
if (oc == null && sc != null)
|
if (oc == null && sc != null)
|
||||||
{
|
{
|
||||||
// In Outlook geloescht -> in Starface auch loeschen
|
// Outlook-Kontakt nicht gefunden.
|
||||||
|
// Erst pruefen ob er vielleicht nur eine neue EntryID hat
|
||||||
|
var reMatch = FindMatch(sc, outlookContacts.Where(c =>
|
||||||
|
!processedOutlookIds.Contains(c.OutlookEntryId)).ToList());
|
||||||
|
if (reMatch != null)
|
||||||
|
{
|
||||||
|
// Kontakt existiert noch in Outlook, nur EntryID geaendert
|
||||||
|
Log($" EntryID geaendert, verknuepfe neu: {sc.DisplayName}");
|
||||||
|
mapping.OutlookEntryId = reMatch.OutlookEntryId;
|
||||||
|
processedOutlookIds.Add(reMatch.OutlookEntryId);
|
||||||
|
newMappings.Add(mapping);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wirklich geloescht -> in Starface auch loeschen
|
||||||
if (profile.SyncDirection == SyncDirection.Both || profile.SyncDirection == SyncDirection.OutlookToStarface)
|
if (profile.SyncDirection == SyncDirection.Both || profile.SyncDirection == SyncDirection.OutlookToStarface)
|
||||||
{
|
{
|
||||||
if (await starface.DeleteContactAsync(mapping.StarfaceId))
|
if (await starface.DeleteContactAsync(mapping.StarfaceId))
|
||||||
|
|
@ -194,7 +208,6 @@ namespace StarfaceOutlookSync.Services
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Richtung erlaubt kein Loeschen -> Mapping behalten
|
|
||||||
newMappings.Add(mapping);
|
newMappings.Add(mapping);
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -202,20 +215,12 @@ namespace StarfaceOutlookSync.Services
|
||||||
|
|
||||||
if (oc != null && sc == null)
|
if (oc != null && sc == null)
|
||||||
{
|
{
|
||||||
// In Starface geloescht -> in Outlook auch loeschen
|
// Starface-Kontakt nicht gefunden.
|
||||||
if (profile.SyncDirection == SyncDirection.Both || profile.SyncDirection == SyncDirection.StarfaceToOutlook)
|
// Kann passieren wenn der Kontakt einem anderen Adressbuch gehoert.
|
||||||
{
|
// NICHT loeschen, nur Mapping entfernen - wird in Phase 2/3 neu verknuepft
|
||||||
if (_outlookService.DeleteContact(mapping.OutlookEntryId))
|
Log($" Starface-Kontakt nicht in Liste (anderes Adressbuch?): {oc.DisplayName}");
|
||||||
{
|
// Mapping verwerfen, Outlook-Kontakt als unverarbeitet belassen
|
||||||
result.Updated++;
|
// damit er in Phase 2 neu zugeordnet oder erstellt werden kann
|
||||||
Log($" Geloescht (SF->OL): {oc.DisplayName}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Richtung erlaubt kein Loeschen -> Mapping behalten
|
|
||||||
newMappings.Add(mapping);
|
|
||||||
}
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue