Skip to content
This repository has been archived by the owner on May 6, 2020. It is now read-only.

Commit

Permalink
add installer project
Browse files Browse the repository at this point in the history
  • Loading branch information
fredericoregateiro committed Oct 13, 2017
1 parent e4dabff commit 5b093b4
Show file tree
Hide file tree
Showing 18 changed files with 1,690 additions and 3 deletions.
6 changes: 6 additions & 0 deletions src/SolRIA.SaftAnalyser.Installer/App.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
</startup>
</configuration>
95 changes: 95 additions & 0 deletions src/SolRIA.SaftAnalyser.Installer/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
using System;
using System.Text;
using WixSharp;
using WixSharp.Forms;

namespace SolRIA.SaftAnalyser.Installer
{
class Program
{
static void Main(string[] args)
{
string baseFolderPath = @"C:\Users\frede\Source\Repos\saft\src\SolRIA.SaftAnalyser\bin\Release";

var project = new ManagedProject("SolRIA SAFT",
new Dir(@"%ProgramFiles%\SolRIA\SolRIA SAFT",
new File(System.IO.Path.Combine(baseFolderPath, "license.txt")),
new File(System.IO.Path.Combine(baseFolderPath, "NLog.config")),
new File(System.IO.Path.Combine(baseFolderPath, "SolRIA.SaftAnalyser.exe"),
new FileShortcut("SolRIA SAFT Analyser", @"%ProgramMenu%\SolRIA\SolRIA SAFT"),
new FileShortcut("SolRIA SAFT Analyser", @"%Desktop%")),
new File(System.IO.Path.Combine(baseFolderPath, "CommonServiceLocator.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Dragablz.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "EntityFramework.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "EntityFramework.SqlServer.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "EPPlus.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "MaterialDesignColors.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "MaterialDesignThemes.Wpf.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Microsoft.Practices.Unity.Configuration.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Microsoft.Practices.Unity.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Microsoft.Practices.Unity.RegistrationByConvention.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "NLog.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Prism.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Prism.Unity.Wpf.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Prism.Wpf.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "SolRIA.SaftAnalyser.Logic.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Syncfusion.Data.WPF.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Syncfusion.SfGrid.WPF.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Syncfusion.SfSkinManager.WPF.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Syncfusion.Shared.WPF.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "Syncfusion.Themes.Blend.WPF.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "sqlite3.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "System.Data.SQLite.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "System.Data.SQLite.EF6.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "System.Data.SQLite.Linq.dll")),
new File(System.IO.Path.Combine(baseFolderPath, "System.Windows.Interactivity.dll"))),
new Dir("x64",
new File(System.IO.Path.Combine(baseFolderPath, "x64", "SQLite.Interop.dll"))),
new Dir("x86",
new File(System.IO.Path.Combine(baseFolderPath, "x86", "SQLite.Interop.dll"))));

project.ResolveWildCards();
project.OutFileName = "SolRIA.SaftAnalyser";
project.ProductId = Guid.NewGuid();
project.UpgradeCode = new Guid("{9ADF9E4F-BEC5-4875-8E93-6287751C0503}");
project.Version = Version.Parse("17.10.13.0");
project.LicenceFile = System.IO.Path.Combine(baseFolderPath, "license.rtf");

project.MajorUpgradeStrategy = MajorUpgradeStrategy.Default;
project.MajorUpgradeStrategy.RemoveExistingProductAfter = Step.InstallInitialize;

project.ControlPanelInfo.Comments = "SolRIA SAF-T Analyser";
project.ControlPanelInfo.HelpLink = "http://www.solria.pt/";
project.ControlPanelInfo.UrlInfoAbout = "http://www.solria.pt/";
project.ControlPanelInfo.ProductIcon = System.IO.Path.Combine(baseFolderPath, "app.ico");
project.ControlPanelInfo.Contact = "SolRIA, Ideal Software Solutions LDA";
project.ControlPanelInfo.Manufacturer = "SolRIA, Ideal Software Solutions LDA";
project.ControlPanelInfo.NoModify = true;
project.ControlPanelInfo.NoRepair = true;

project.BackgroundImage = "solria_background2.bmp";
project.BannerImage = "solria_banner.bmp";
project.LocalizationFile = "wixui_pt-PT.wxl";
project.Encoding = Encoding.UTF8;

project.ManagedUI = ManagedUI.Empty; //no standard UI dialogs

//custom set of standard UI dialogs
project.ManagedUI = new ManagedUI();

project.ManagedUI.InstallDialogs.Add(Dialogs.Welcome)
.Add(Dialogs.Licence)
.Add(Dialogs.Progress)
.Add(Dialogs.Exit);

project.ManagedUI.ModifyDialogs.Add(Dialogs.MaintenanceType)
.Add(Dialogs.Progress)
.Add(Dialogs.Exit);

Compiler.BuildMsi(project);

Console.WriteLine("Msi build complete. Enter to close.");
Console.ReadLine();
}
}
}
36 changes: 36 additions & 0 deletions src/SolRIA.SaftAnalyser.Installer/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SolRIA.SaftAnalyser.Installer")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SolRIA.SaftAnalyser.Installer")]
[assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("66951581-5ceb-4a65-9efa-56cfb4872ac2")]

// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{66951581-5CEB-4A65-9EFA-56CFB4872AC2}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>SolRIA.SaftAnalyser.Installer</RootNamespace>
<AssemblyName>SolRIA.SaftAnalyser.Installer</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>solria.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="BootstrapperCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad, processorArchitecture=MSIL">
<HintPath>..\packages\WixSharp.bin.1.4.9.0\lib\BootstrapperCore.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Deployment.WindowsInstaller, Version=3.0.0.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad, processorArchitecture=MSIL">
<HintPath>..\packages\WixSharp.bin.1.4.9.0\lib\Microsoft.Deployment.WindowsInstaller.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="WixSharp, Version=1.4.9.0, Culture=neutral, PublicKeyToken=3775edd25acc43c2, processorArchitecture=MSIL">
<HintPath>..\packages\WixSharp.bin.1.4.9.0\lib\WixSharp.dll</HintPath>
</Reference>
<Reference Include="WixSharp.Msi, Version=1.4.9.0, Culture=neutral, PublicKeyToken=3775edd25acc43c2, processorArchitecture=MSIL">
<HintPath>..\packages\WixSharp.bin.1.4.9.0\lib\WixSharp.Msi.dll</HintPath>
</Reference>
<Reference Include="WixSharp.UI, Version=1.4.9.0, Culture=neutral, PublicKeyToken=3775edd25acc43c2, processorArchitecture=MSIL">
<HintPath>..\packages\WixSharp.bin.1.4.9.0\lib\WixSharp.UI.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Content Include="solria.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="solria_background.bmp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="solria_background2.bmp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="solria_background2.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="solria_banner.bmp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="wixui_pt-PT.wxl">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<UsingTask AssemblyFile="$(SolutionDir)packages\WixSharp.1.4.9.0\build\SetEnvVar.dll" TaskName="SetEnvVar" />
</Project>
4 changes: 4 additions & 0 deletions src/SolRIA.SaftAnalyser.Installer/packages.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="WixSharp.bin" version="1.4.9.0" targetFramework="net452" />
</packages>
Binary file added src/SolRIA.SaftAnalyser.Installer/solria.ico
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading

0 comments on commit 5b093b4

Please sign in to comment.