tis-seadrive 0.9.2-7

  • package : tis-seadrive
  • version : 0.9.2-7
  • architecture : x64
  • locale :
  • description : Seafile Drive Client for Windows. Seadrive is Seafile client which acts like system drive. (Seafile ltd.)
  • maintainer : Hubert TOUVET
  • date : 2018-06-12 16:20:18
  • min_wapt_version : 1.5.0
  • min_os_version : 6.1.0
  • max_os_version :
  • impacted_process : seadrive.exe,seadrive-gui.exe
  • Depends :

setup.py

# -*- coding: utf-8 -*-
from setuphelpers import *
import wmi
import time

uninstallkey = []

def kb_is_installed(kb):
    print('Looking for installed KB....')
    qfe = wmi.WMI().Win32_QuickFixEngineering
    kbs = qfe.query(HotFixID=kb)
    if kbs:
        return kbs[0]
    else:
        return None

class EnsureWUAServRunning(object):
    """Context object to run wauserv in manual mode"""
    # https://msdn.microsoft.com/en-us/library/aa394418(v=vs.85).aspx#properties
    def __enter__(self):
        print ("Ensure wuauserv Auto Update option is disabled")
        self.old_au_options = registry_readstring(HKEY_LOCAL_MACHINE,r'SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update','AUOptions',0)
        c = wmi.WMI()
        for service in c.Win32_Service (Name='wuauserv'):
            self.wuaserv_start_mode = service.StartMode
            self.wuaserv_started = service.Started
            service.ChangeStartMode(StartMode="manual")
            service.StartService()

        start = time.time()
        for service in c.Win32_Service (Name='wuauserv'):
            while not service.Started and time.time() - start < 10:
                time.sleep(1)
            if not service.Started:
                raise Exception('Unable to start wuauserv')

        return self

    def __exit__(self,type, value, tb):
        print ("re-enabling wuauserv previous state: %s" % self.old_au_options)
        registry_set(HKEY_LOCAL_MACHINE,r'SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update','AUOptions',self.old_au_options)
        c = wmi.WMI()
        for service in c.Win32_Service (Name='wuauserv'):
            if not self.wuaserv_started:
                service.StopService()
            service.ChangeStartMode(StartMode=self.wuaserv_start_mode)

        start = time.time()
        for service in c.Win32_Service (Name='wuauserv'):
            while service.Started and time.time() - start < 10:
                time.sleep(1)

def install():
    print('installing Seadrive')
    if windows_version()>=WindowsVersions.Windows7 and windows_version()<WindowsVersions.Windows8:
        if not kb_is_installed('KB3033929'):
            print('Instaling required KB3033929')
            with EnsureWUAServRunning():
                # 2359302 : patch already installed
                run('wusa.exe /quiet /norestart Windows6.1-KB3033929-x64.msu',accept_returncodes=[0,3010,2359302])

    print('installing seadrive exe')
    install_exe_if_needed('seadrive-0.9.2.exe','/S /NORESTART',
        key='{865C1B63-6FC9-49A2-8666-D097ABB79CC0}',min_version='0.9.2')


def check_uninstall_key(key):
    if installed_softwares(uninstallkey=key):
        return dict(status='OK',msg=u'Uninstallkey %s present'%key,data=None)
    else:
        return dict(status='ERROR',msg=u'Uninstallkey %s not present'%key,data=None)

def print_audit(results):
    status = None
    for result in results:
        print(u'%s: %s' % (result['status'],result['msg']))
        if result['status'] == 'ERROR':
            status = 'ERROR'
        elif status is None and result['status'] == 'WARNING':
            status = 'WARNING'
    if status is None:
        status = 'OK'
    return status

def audit():
    result = []
    result.append(check_uninstall_key('{865C1B63-6FC9-49A2-8666-D097ABB79CC0}'))
    result.append(check_uninstall_key('{0d3c6a32-9402-4818-8dbf-8b384295b7a8}'))
    return print_audit(result)


    

Changelog

0.9.2 (2018/05/05)
==================

    Fix a bug that causing SeaDrive crash

0.9.1 (2018/04/24)
==================

    Fix a bug that causing crash when file search menu is clicked

0.9.0 (2018/04/24)
==================

    Libraries are displayed under three folders "My Libraries", "Group Libraries", "Shared libraries"
    [fix] Fix a bug in cleaning cache
    [Win] Update the kernel drive
    Improve syncing notification messages
    [Mac] Include the kernel drive with the SeaDrive package
    [Mac] Add Finder sidebar shortcut
    Add file search

0.8.6 (2018/03/19)
==================

    [fix] Fix compatibility with Visio and other applications by implementing a missing system API

0.8.5 (2018/01/03)
===========

[fix] Fix SeaDrive over RDP in Windows 10/7
[fix] Fix SeaDrive shell extension memory leak
[fix] Fix duplicated folder/files shown in Finder.app (macOS)
[fix] Fix file cache status icon for MacOS
0.8.4 (2017/12/01)
[fix] Fix Word/Excel files can't be saved in Windows 10
Add "download" context menu to explicitly download a file
Change "Shibboleth" to "Single Sign On"

0.8.3 (2017/11/24)
=================
[fix] Fix deleted folder recreated issue
Improve UI of downloading/uploading list dialog

0.8.1 (2017/11/03)
=====================
Use "REMOVABLE" when mount the drive disk
Prevent creating "System Volume Information"
Some UI fixes

0.8.0 (2017/09/16)
=================
[fix] Reuse old drive letter after SeaDrive crash
[fix] Fix rename library back to old name when it is changed in the server
[fix] Fix sometimes network can not reconnected after network down
Change default block size to 8MB
Make auto-login as default
Remount SeaDrive when it is unmounted after Windows hibernate

0.7.1 (2017/06/23)
=======================
[fix] Fix a bug that causing client crash

0.7.0 (2017/06/07)
===================
Add support for multi-users using SeaDrive on a single desktop. But different users must choose different drive letters.
Improve write performance
[fix] When a non-cached file is locked in the server, the "lock" icon will be shown instead of the "cloud" icon.
Add "automatically login" option in login dialog
Add file transfer status dialog.

0.6.2 (2017/04/22)
[fix] Fix after moving a file to a newly created sub folder, the file reappear when logout and login
Refresh current folder and the destination folder after moving files from one library to another library
[fix] Fix file locking not work
[fix] Fix sometimes files can't be saved

Known issues

In version 0.5.1, we add the feature that the mounted drive is only visible to the current user, so some exe files can't be executed if stored in the drive because it needs admin privilege to run
In version 0.5.1, rename a non-cached folder or file will lead to sync error.
In version 0.5.0 Copy exe files to SeaDrive on Win 7 will freeze the explorer

0.6.1 (2017/03/27)
==================
[fix] Don't show a popup notification to state that a file can't be created in S: because a few programs will automatically try to create files in S:

0.6.0 (2017/03/25)
==================
Improve syncing status icons
Show error in the interface when there are syncing errors
Don't show rorate icon when downloading/uploading metadata
[fix] Don't download files when the network is not connected

0.5.2 (2017/03/09)
===================
[fix] Rename a non-cached folder or file will lead to sync error.

0.5.1 (2017/02/16)
==================
[fix] Fix copying exe files to SeaDrive on Win 7 will freeze the explorer
The mounted drive is only visible to the current user
Add popup notification when syncing is done
[fix] Fix any change in the settings leads to a drive letter change

0.5.0 (2017/01/18)
==================
Improve stability
Support file locking
Support sub-folder permission
[fix] Fix 1TB limitation
User can choose disk letter in settings dialog
Support remote wipe
[fix] Use proxy server when login
Click system tray icon open SeaDrive folder
Support application auto-upgrade

0.4.2 (2016/12/16)
===================
[fix] Fix SeaDrive initialization error during Windows startup

0.4.1 (2016/11/07)
===================
[fix] Fix a bug that lead to empty S: drive after installation.

0.4.0 (2016/11/05)
==================
[fix] Fix a bug that leads to generation of conflict files when editing
Add translations
Update included Dokany library to 1.0
Don't show encrypted libraries even in command line
Show permission error when copy a file to the root
Show permission error when try to modify a read-only folder
Show permission error when try to delete a folder in the root folder

0.3.1 (2016/10/22)
===================
Fix link for license terms
Use new system tray icon
Add notification for cross-libraries file move

0.3.0 (2016/10/14)
==================
Support selecting Drive letter
Don't create folders like msiS50.tmp on Windows
[fix] Fix cache size limit settings
Correctly show the storage space if the space is unlimited on the server side.
0.2.0 (2016/09/15)
Add shibboleth support
Show a dialog notify the client is downloading file list from the server during initialisation
Show transfer rate
[fix] Fix a bug that lead to the file modification time to be empty
[fix] Fix a bug that lead to files not be uploaded

0.1.0 (2016/09/02)
==================
Initial release


    

manifest.sha256

WAPT/icon.png 44da9c559bcbcd223ca9eb0aee9ec76f14c379a5d10b71dc51d64a6989fa9097
WAPT/certificate.crt 13fb474c5c23c135a77aba592eb8821b9ecbcc463f5b7312312b87b20eac6779
WAPT/wapt.psproj 3824006a38918a179ecd0f15962b870f0a13e70e5f97c1c3f829a97f0e0da5df
seadrive-0.9.2.exe 858b0b6f0cfb5ceeb9676ac37e10359a1a99460c9334a424264ff853ea448ca2
setup.py a7358b1e031e2fffcf69d1d8689c6b91fdea10501a46263a72c2c2fcca64c5f6
Windows6.1-KB3033929-x64.msu 5318587007edb6c8b29310ff18da479a162b486b9101a7de735f94a70dbc3b31
WAPT/control 535855fc167f45798374ac4a0707f6b00a3074415e5d6177db8b77a1bceea9e3
WAPT/changelog.txt 4b676d032d190443c2fe927affa23a5760e5a9b1847c4ca1b4edca6a5addcf59