add winfuse plugin to installer

this adds the latest build of mike's winfuse plugins, now also running as
a windows service (and using the node.url, private/root_dir.cap files from
the noderoot specified by the registry) into the install process.
This commit is contained in:
robk-tahoe 2008-01-16 19:15:35 -07:00
parent eaba225e1f
commit 6e8fe30859
12 changed files with 51 additions and 10 deletions

View File

@ -1,7 +1,8 @@
BACKEND_URL = 'https://www-test.allmydata.com/native_client2.php' BACKEND_URL = 'https://www-test.allmydata.com/native_client2.php'
REGISTER_PAGE = 'https://www-test.allmydata.com/register' REGISTER_PAGE = 'https://www-test.allmydata.com/register'
WINSVC_NAME = 'Tahoe' TAHOESVC_NAME = 'Tahoe'
WINFUSESVC_NAME = 'Allmydata Tahoe SMB'
import os import os
import sys import sys
@ -173,17 +174,21 @@ class LoginPanel(wx.Panel):
# start service etc. # start service etc.
if sys.platform == 'win32': if sys.platform == 'win32':
try: self.start_windows_service(TAHOESVC_NAME)
import win32service self.start_windows_service(WINFUSESVC_NAME)
import win32serviceutil as wsu
if wsu.QueryServiceStatus(WINSVC_NAME)[1] != win32service.SERVICE_RUNNING:
wsu.StartService(WINSVC_NAME)
except:
DisplayTraceback('Failed to start windows service')
# exit # exit
self.parent.parent.Close() self.parent.parent.Close()
def start_windows_service(self, svc_name):
try:
import win32service
import win32serviceutil as wsu
if wsu.QueryServiceStatus(svc_name)[1] != win32service.SERVICE_RUNNING:
wsu.StartService(svc_name)
except:
DisplayTraceback('Failed to start windows service "%s"' % (svc_name,))
class RegisterPanel(wx.Panel): class RegisterPanel(wx.Panel):
def __init__(self, parent): def __init__(self, parent):
wx.Panel.__init__(self, parent, -1) wx.Panel.__init__(self, parent, -1)

View File

@ -24,6 +24,7 @@ OutputBaseFilename=Allmydata_Tahoe_Setup_v%(major)d_%(minor)d_%(point)d_%(nano)d
; contents of 'binaries' dir. (consolidated build target) ; contents of 'binaries' dir. (consolidated build target)
Source: "*.*"; DestDir: "{app}\Install"; Flags: restartreplace replacesameversion uninsrestartdelete Source: "*.*"; DestDir: "{app}\Install"; Flags: restartreplace replacesameversion uninsrestartdelete
Source: ".\web\*.*"; DestDir: "{app}\Install\web"; Flags: recursesubdirs Source: ".\web\*.*"; DestDir: "{app}\Install\web"; Flags: recursesubdirs
Source: ".\winfuse\*.*"; DestDir: "{app}\Install\winfuse"; Flags: recursesubdirs
[Dirs] [Dirs]
Name: "{app}\noderoot" Name: "{app}\noderoot"
@ -35,14 +36,17 @@ Name: "{group}\Allmydata Help"; Filename: "http://www.allmydata.com/help.php"
[Run] [Run]
; Things performed before the final page of the installer ; Things performed before the final page of the installer
Filename: "{app}\Install\tahoesvc.exe"; Parameters: "-install"; Flags: runhidden Filename: "{app}\Install\tahoesvc.exe"; Parameters: "-install -auto"; Flags: runhidden
Filename: "{app}\Install\tahoe.exe"; Parameters: "create-client ""{app}\noderoot"""; Description: "Set the node into debug logging mode"; Flags: runhidden Filename: "{app}\Install\tahoe.exe"; Parameters: "create-client ""{app}\noderoot"""; Flags: runhidden
Filename: "{app}\Install\winfuse\InstallUtil.exe"; Parameters: """{app}\Install\winfuse\WinFUSE.exe"""; Flags: runhidden
Filename: "{app}\Install\confwiz.exe"; Flags: hidewizard Filename: "{app}\Install\confwiz.exe"; Flags: hidewizard
;Filename: "{app}\Install\ReadMe.txt"; Description: "View the ReadMe file"; Flags: unchecked postinstall nowait shellexec skipifdoesntexist ;Filename: "{app}\Install\ReadMe.txt"; Description: "View the ReadMe file"; Flags: unchecked postinstall nowait shellexec skipifdoesntexist
[UninstallRun] [UninstallRun]
; Performed before the uninstaller runs to undo things ; Performed before the uninstaller runs to undo things
Filename: "{sys}\net.exe"; Parameters: "stop ""Allmydata Tahoe SMB"""; Flags: runhidden
Filename: "{sys}\net.exe"; Parameters: "stop Tahoe"; Flags: runhidden Filename: "{sys}\net.exe"; Parameters: "stop Tahoe"; Flags: runhidden
Filename: "{app}\Install\winfuse\InstallUtil.exe"; Parameters: "/uninstall ""{app}\Install\winfuse\WinFUSE.exe"""; Flags: runhidden
Filename: "{app}\Install\tahoesvc.exe"; Parameters: "-remove"; Flags: runhidden Filename: "{app}\Install\tahoesvc.exe"; Parameters: "-remove"; Flags: runhidden
;Filename: "http://www.allmydata.com/redirect/uninstallsurvey.php?build=%(build)s"; Flags: shellexec ;Filename: "http://www.allmydata.com/redirect/uninstallsurvey.php?build=%(build)s"; Flags: shellexec

View File

@ -59,6 +59,7 @@ setup_args = {
('.', [ ('.', [
],), ],),
('web', glob.glob('../src/allmydata/web/*')), ('web', glob.glob('../src/allmydata/web/*')),
('winfuse', glob.glob('./winfuse/*')),
], ],
'zipfile' : 'library.zip', 'zipfile' : 'library.zip',
'options': { 'options': {

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
windows/winfuse/TahoeFS.dll Normal file

Binary file not shown.

Binary file not shown.

BIN
windows/winfuse/WinFUSE.exe Normal file

Binary file not shown.

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="microkernel" type="MicroKernel.CustomSection, MicroKernel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</configSections>
<microkernel>
<references>
<!-- Must be set if no DomainController is used for Authentification, otherwise it can be left empty -->
<local description="Logon" keyType="Suchwerk.Interface.IAuth" assembly="UserLogon" implementationType="Suchwerk.UserLogon" singleton="true" />
<!-- Must be set. Is the IPC share that all CIFS server must provide. The implementation is done very simple -->
<local description="IPC$" keyType="Suchwerk.Interface.IFilesystem" assembly="NamedPipe" implementationType="Suchwerk.Filesystem.Pipe" singleton="true" />
<!-- That's the CIFS server, must be included -->
<local description="SMBServer" keyType="Suchwerk.Interface.ISMBPortal" assembly="PortalSMB" implementationType="Suchwerk.Portal.SMB.SMB" singleton="true" />
<!-- Add here your IFilesystem implementations, the more you add, the more your server can provide
The same IFilesystem implementation can be listed more than once, to provide different data views
To know with share was called, add then field, "parameter_constructor=true" and instead of the
parameter less standard constructor a constructor with the share name will be called -->
<local description="Tahoe" keyType="Suchwerk.Interface.IFilesystem" assembly="TahoeFS" implementationType="TahoeFS.TahoeFS" singleton="true" />
</references>
</microkernel>
</configuration>