123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- #define SetupAppName "VINNO ultrasound workstation system"
- #define SetupAppPublisher "VINNO Technology (Suzhou) Co., Ltd ."
- #define SetupAppURL "http://www.ichaorenhui.com"
- #define SetupAppExeName "vStation.exe"
- #define CopyRight "Copyright ©2015 VINNO Corporation. All rights reserved."
- #define SetupAppVersion "1.2" ;送检需要 将默认版本改为1.0,若需要与通用版本号一致,删除此行即可
- #define InstallFramework ""
- #define InstallingFramework ""
- [Setup]
- ; NOTE: The value of AppId uniquely identifies this application.
- ; Do not use the same AppId value in installers for other applications.
- ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
- AppId={{29DCDCD7-567D-443A-8892-20862D166AEB}
- AppName={cm:MyAppName}
- AppVersion={#SetupAppVersion}
- AppVerName={cm:MyAppName} {#SetupAppVersion}
- AppPublisher={#SetupAppPublisher}
- AppPublisherURL={#SetupAppURL}
- AppSupportURL={#SetupAppURL}
- AppUpdatesURL={#SetupAppURL}
- DefaultDirName={pf}\{cm:MyAppName}
- DefaultGroupName={cm:MyAppName}
- OutputDir={#ProjectFolder}\Distribution
- OutputBaseFilename=StationSetupFull_{#SetupAppVersion}
- SetupIconFile={#ProjectFolder}\Build\Station.ico
- WizardSmallImageFile={#ProjectFolder}\Build\Station_Small.bmp
- ;WizardImageFile={#ProjectFolder}\Build\WizardSetup_Remedical.bmp
- ArchitecturesInstallIn64BitMode=x64
- Compression=lzma
- SolidCompression=yes
- PrivilegesRequired=admin
- UninstallDisplayIcon={app}\{#SetupAppExeName}
- UninstallDisplayName={cm:MyAppName}
- VersionInfoVersion={#SetupAppVersion}
- VersionInfoCompany={#SetupAppPublisher}
- VersionInfoCopyright={#CopyRight}
- VersionInfoDescription={#SetupAppName}
- VersionInfoProductName={#SetupAppName}
- DisableWelcomePage=no
- ShowLanguageDialog=no
- [InstallDelete]
- Type: files; Name: "{commondesktop}\飞依诺(VINNO)超声工作站系统.lnk"
- Type: files; Name: "{commondesktop}\VINNO ultrasound workstation system.lnk"
- [Languages]
- Name: "english"; MessagesFile: "compiler:Default.isl"
- Name: "chinese"; MessagesFile: "{#ProjectFolder}\Build\Chinese.isl"
- [CustomMessages]
- english.MyAppName=Ultrasonic workstation system software
- chinese.MyAppName=超声工作站系统软件
- english.InstallFramework=Install Microsoft .Net Framework
- chinese.InstallFramework=安装Microsoft .Net Framework
- english.InstallingFramework=Installing Microsoft .Net Framework...
- chinese.InstallingFramework=正在安装Microsoft .Net Framework...
- [Tasks]
- Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
- [Files]
- Source: "{#ProjectFolder}\Distribution\Station\vStation.exe"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\vStation.exe.config"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\AForge.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\AForge.Video.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\AForge.Video.DirectShow.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\PdfSharp.Xps.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\PdfSharp-WPF.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\sqlite3.x64.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\sqlite3.x86.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\cdll8_x64.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\cdll8_x86.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\System.Windows.Interactivity.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\System.ValueTuple.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\netstandard.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Settings\Station\*"; DestDir: "{app}\Settings\Station"; Flags: ignoreversion recursesubdirs createallsubdirs
- Source: "{#ProjectFolder}\Distribution\Station\Sign\*"; DestDir: "{app}\Sign"; Flags: ignoreversion recursesubdirs createallsubdirs
- Source: "{#ProjectFolder}\Distribution\Station\vStationDiagnosticTerms\*"; DestDir: "{app}\vStationDiagnosticTerms"; Flags: ignoreversion recursesubdirs createallsubdirs
- Source: "{#ProjectFolder}\Distribution\Station\vStationReportTemplates\*"; DestDir: "{app}\vStationReportTemplates"; Flags: ignoreversion recursesubdirs createallsubdirs
- Source: "{#ProjectFolder}\Distribution\Station\Dongle.xml"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Build\NDP461.exe"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\ICSharpCode.SharpZipLib.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Dicom.Core.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Dicom.Native.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Dicom.Native64.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.IUS.Common.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.vCloud.DiagnosisTerm.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.vCloud.Dongle.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.IUS.Common.Client.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.IUS.Common.Setting.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.IUS.Common.Network.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.vCloud.Protocol.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.vCloud.Common.Vid2.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.vCloud.Report.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.vCloud.ReportGenerator.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.vCloud.ReportTemplate.ViewModel.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.vCloud.vStationAgent.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Syncfusion.Compression.Base.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Syncfusion.DocIO.Base.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Syncfusion.DocToPDFConverter.Base.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Syncfusion.OfficeChart.Base.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Syncfusion.Pdf.Base.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Syncfusion.PdfViewer.WPF.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Syncfusion.Shared.Wpf.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Syncfusion.Tools.WPF.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\ReportTemplateDesigner.exe"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\ReportTemplateDesigner.exe.config"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Icon.ico"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.IdentificationCardApp.exe"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.IdentificationCardApp.exe.config"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\zh-CN\*"; DestDir: "{app}\zh-CN"; Flags: ignoreversion recursesubdirs createallsubdirs
- Source: "{#ProjectFolder}\Distribution\Station\sdtapi.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\WltRS.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\termb.lic"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\Vinno.IDCardReader.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\NPOI.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\NPOI.OOXML.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\NPOI.OpenXml4Net.dll"; DestDir: "{app}"; Flags: ignoreversion
- Source: "{#ProjectFolder}\Distribution\Station\NPOI.OpenXmlFormats.dll"; DestDir: "{app}"; Flags: ignoreversion
- [Icons]
- Name: "{group}\{cm:MyAppName}"; Filename: "{app}\{#SetupAppExeName}"
- Name: "{commondesktop}\{cm:MyAppName}"; Filename: "{app}\{#SetupAppExeName}"; Tasks: desktopicon
- [Run]
- Filename: "{app}\NDP461.exe";Description:"{cm:InstallFramework}"; StatusMsg:"{cm:InstallingFramework}"; Flags: runascurrentuser; Check:not IsDotNetDetected
- Filename: "{app}\{#SetupAppExeName}"; Description: "{cm:LaunchProgram,{cm:MyAppName}}"; Flags:runascurrentuser nowait postinstall skipifsilent
- Filename: "{app}\{#SetupAppExeName}"; Description: "{cm:LaunchProgram,{cm:MyAppName}}"; Flags:runascurrentuser nowait; Check:WizardSilent
- [Code]
- function CompareVersion(version1, version2: string): Integer;
- var
- postition, n1, n2: Integer;
- begin
- result := 0;
- while (result = 0) and ((version1 <> '') or (version2 <> '')) do
- begin
- postition := Pos('.', version1);
- if postition > 0 then
- begin
- n1 := StrToInt(Copy(version1, 1, postition - 1));
- Delete(version1, 1, postition);
- end
- else if version1 <> '' then
- begin
- n1 := StrToInt(version1);
- version1 := '';
- end
- else
- begin
- n1 := 0;
- end;
- postition := Pos('.', version2);
- if postition > 0 then
- begin
- n2 := StrToInt(Copy(version2, 1, postition - 1));
- Delete(version2, 1, postition);
- end
- else
- if version2 <> '' then
- begin
- n2 := StrToInt(version2);
- version2 := '';
- end
- else
- begin
- n2 := 0;
- end;
- if n1 < n2 then result := -1
- else if n1 > n2 then result := 1
- else result := 0;
- end;
- end;
- function IsDotNetDetected(): boolean;
- var
- key, version: string;
- install, serviceCount : cardinal;
- success: boolean;
- begin
- // installation key group for all .NET versions
- key := 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full';
- success := RegQueryDWordValue(HKEY_LOCAL_MACHINE, key, 'Install', install);
- success := success and RegQueryDWordValue(HKEY_LOCAL_MACHINE, key, 'Servicing', serviceCount);
- success := success and RegQueryStringValue(HKEY_LOCAL_MACHINE, key, 'Version', version);
- result := success and (CompareVersion(version, '4.6.1')>0) and (serviceCount >= 0) and (install = 1);
- end;
- procedure KillStation();
- var
- ResultCode: Integer;
- begin
- begin
- Exec('TASKKILL', '/IM vStation.exe /F', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
- end;
- end;
- function InitializeUninstall(): Boolean;
- begin
- KillStation();
- Result := True;
- end;
- procedure CurStepChanged(CurStep: TSetupStep);
- begin
- if CurStep = ssinstall then
- begin
- KillStation();
- end;
- end;
|