jsysde
Goto Top

Skype 8 Desktop App Rollout

Guten Abend zusammen,

Microsoft gewährt mir (uns allen) ja eine Gnadenfrist für "Skype Classic", also Version 7.x. Nichtsdestotrotz muss ich mir Gedanken dazu machen, wie ich die Desktop-App in Version 8 vernünftig ausgerollt bekomme, d.h. zum Beispiel den automatischen Start nach Installation unterdrücken kann etc.

Hat da jemand von euch schon Erfahrungen mit und kann mir ein Tipps geben/mich in die richtige Richtung schubsen?
"Das Internet" liefert leider nix wirklich brauchbares...

Besten Dank und einen schönen Abend,
jsysde

Content-ID: 382596

Url: https://administrator.de/contentid/382596

Printed on: December 9, 2024 at 05:12 o'clock

colinardo
Solution colinardo Aug 08, 2018 updated at 12:09:56 (UTC)
Goto Top
Servus @jsysde ,
  • lade dir den Skype-Installer SkypeSetupFull.exe.
  • extrahiere den InnoSetup Installer mit Innounp und der Kommandozeile: innounp.exe -x -m SkypeSetupFull.exe
  • Dann öffne das File install_script.iss als InnoSetup-Installer und entferne folgende Zeile im Abschnitt [RUN]
Filename: "{app}\Skype.exe"; Parameters: "{code:GetInstallerArgs}"; Description: "Run Skype"; MinVersion: 0.0,6.01; Flags: shellexec postinstall nowait
  • Weitere gewünschte Anpassungen kannst du hier ebenfalls im *.iss File vornehmen.
  • Compiliere das Script zur EXE
  • Für den Silent-Install dann mit folgender Zeile ausführen:
SkypeSetupFull.exe /VERYSILENT /SP- /SUPPRESSMSGBOXES /NORESTART /CLOSEAPPLICATIONS /NOCANCEL /LANG=DE
  • Feddich.

Der extrahierte Inhalt lässt sich aber leicht auch mit einer eigenen Setup-Routine oder MSI-Wrapper leicht ausrollen, denn der Skype-Installer macht nicht viel mehr als Dateien kopieren und Icon erstellen. Also simple Basics die jeder Installer aus dem FF beherrscht.

Grüße Uwe
jsysde
jsysde Aug 09, 2018 at 13:00:00 (UTC)
Goto Top
Tausend Dank @colinardo!
Klappt prima, made my day!

Cheers,
jsysde
jsysde
jsysde Aug 20, 2018 updated at 10:09:16 (UTC)
Goto Top
Mahlzeit.

Jetzt muss ich doch noch mal drauf zurückkommen:
Installation hat problemlos geklappt, Version 8.27. Nun gibt es eine neue Version, 8.28. Diese will sich beim Login des User automatisch installieren, was in Ermangelung von Adminrechten natürlich scheitert. Frage: Wie deaktiviere ich das Auto-Update?

EDITH:
Und zu allem Überfluss startet Skype jetzt beim User-Login automatisch - obwohl ich die entsprechenden Zeilen aus install_script.iss entfernt habe?!?

Cheers,
jsysde

P.S.:
Microsoft in it's infinite wisdom - selten so gekotzt ob deren Updates in den letzten 9 - 12 Monaten.... face-sad
colinardo
colinardo Aug 20, 2018 updated at 11:20:03 (UTC)
Goto Top
Servus.
Zitat von @jsysde:
Jetzt muss ich doch noch mal drauf zurückkommen:
Installation hat problemlos geklappt, Version 8.27. Nun gibt es eine neue Version, 8.28. Diese will sich beim Login des User automatisch installieren, was in Ermangelung von Adminrechten natürlich scheitert. Frage: Wie deaktiviere ich das Auto-Update?
Das trägt sich alles in die "%appdata%\Microsoft\Skype for Desktop\settings.json" ein, dort steht bei einem Update z.B. "updates.windows.awaiting-installer-version":"Skype-8.28.0.41.exe", wenn du das z.B. vor jedem Start raus löschst wird kein Update vorgenommen, alternativ verbiete Skype das erstellen von EXEs in dem o.g. Verzeichnis.
$settingsjson = "$env:APPDATA\Microsoft\Skype for Desktop\settings.json"  
(gc $settingsjson) | ConvertFrom-Json | select * -ExcludeProperty "updates.windows.awaiting-installer-version" | ConvertTo-Json -Depth 100 | sc $settingsjson  
Und zu allem Überfluss startet Skype jetzt beim User-Login automatisch - obwohl ich die entsprechenden Zeilen aus install_script.iss entfernt habe?!?
Weil das beim ersten Start durch Skype per Default in die Registry geschrieben wird.
Das kannst du aber ebenfalls in der settings.json vor dem ersten Start mit einem Eintrag in die o.g. settings.json festlegen:
"app.autoStartEnabled":false
Eine initiale "settings.json" kannst du ja ebenfalls mit dem ISS Script direkt verteilen, z.B. über die [Files] section des ISS Files wenn du eine Vorlage der settings.json in das {app} Verzeichnis packst
Source: "{app}\settings.json"; DestDir: "{userappdata}\Microsoft\Skype for Desktop"; Flags: restartreplace  

p.s. Procmon hätte dir das alles auch verraten face-wink.

Und hier weitere Methoden:
https://answers.microsoft.com/en-us/skype/forum/skype_windesk-skype_star ...

Grüße Uwe
jsysde
jsysde Aug 25, 2018 at 15:10:01 (UTC)
Goto Top
Ein weiteres Dankeschön an @colinardo!

Klar hätte procmon mir das alles verraten, ich bin aber nicht so der InnoSetup-Typ, daher waren deine Ausführungen echt klasse.
Da Microsoft ja nun entschieden hat, Skype Classic doch (noch) nicht sterben zu lassen, rolle ich weiterhin die 7.41 aus - die läuft, die User kennen sich damit aus etc.

Da wir hier auch Shared Computer haben, ist das verhindern von Autostart und Updates natürlich ein wenig Gebastel, aber mit Hilfe deiner Tipps bin ich zumindest handlungsfähig, wenn MS den Stecker für Skype Classic zieht. face-wink

Nochmals danke und
Cheers,
jsysde
jsysde
jsysde Oct 19, 2018 updated at 10:23:41 (UTC)
Goto Top
Moin

@colinardo:
Wo packe ich denn diese Zeilen hier hin?

Zitat von @colinardo:
> $settingsjson = "$env:APPDATA\Microsoft\Skype for Desktop\settings.json"  
> (gc $settingsjson) | ConvertFrom-Json | select * -ExcludeProperty "updates.windows.awaiting-installer-version" | ConvertTo-Json -Depth 100 | sc $settingsjson  
> 

Danke für nen Schubser. face-wink

Cheers,
jsysde


EDITH:
Vorderfinierte settings.json mit deaktiviertem Autostart wird bei der Installation einwandfrei angelegt - sobald sich der User dann anmeldet, wird das aber gnadenlos überschrieben, der User muss in der App selbst den Autostart wieder deaktivieren. Welchen Sinn macht dann diese settings.json?