tis-seadrive 0.9.2-7

  • package : tis-seadrive
  • version : 0.9.2-7
  • 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
  • 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"]]