Description
Google Drive Sync synchronizes your files across devices through your Google Drive account.
Things outside of PlayOnLinux/Wine
Nothing was needed outside of POL or Wine, besides downloading the MSI version of the installer. However, since Wine does not currently use a modern systray protocol, users of Plasma 5.0-5.4.x and (probably) GNOME 3 will be stuck with a "Wine Systray" window.
Errors
The installer starts GoogleUpdate.exe, so wineserver never closes, therefore making a synchronous POL_Wine command impossible. As a workaround, there is a 10-second pause to allow the MSI to install. The systray icon also disappears upon the first run, though it is still syncing in the background. The script notifies the user about this. Also, the user will have to manually start the service upon each login, since Wine doesn't offer any autostart system.
Screenshots & Icon
googledrivesync-22x22.png:
Script
#!/bin/bash
# Date: 2016-1-9
# Author: MTres19
# Wine version used: 1.8
# Distribution used to test: Kubuntu 15.10 (amd64)
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
TITLE="Google Drive Sync"
PREFIX="GoogleDriveSync"
WINEVERSION="1.8"
POL_SetupWindow_Init
POL_Debug_Init
POL_SetupWindow_presentation "$TITLE" "Google, Inc." "www.google.com" "MTres19" "$PREFIX"
POL_System_SetArch "x86"
POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WINEVERSION"
POL_System_TmpCreate "$PREFIX"
cd "$POL_System_TmpDir"
POL_Call POL_Install_LunaTheme
POL_Call POL_Install_ie8
POL_Download "https://dl.google.com/drive/gsync_enterprise.msi"
POL_Wine start msiexec /i "gsync_enterprise.msi"
POL_SetupWindow_wait "$(eval_gettext 'Waiting for installation to finish')" "$TITLE"
sleep 10
POL_SetupWindow_message "$(eval_gettext 'The Google Drive systray icon will disappear the first time you run it, though the sync will continue in the background. Close and restart Google Drive Sync in the PlayOnLinux/PlayOnMac window to make the icon appear.')" "$TITLE"
POL_Shortcut "googledrivesync.exe" "$TITLE"
POL_System_TmpDelete
POL_SetupWindow_Close
exit 0