Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
/obj
/bin/Debug
/bin/Release/*.pdb
/bin
/.vs
/Installer/Deploy
/Installer/ClickPasteInstaller/bin
/Installer/ClickPasteInstaller/obj
/Installer/ClickPasteInstallerMM/bin
/Installer/ClickPasteInstallerMM/obj
ClickPaste.csproj.user
31 changes: 30 additions & 1 deletion ClickPaste.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,21 @@
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
Expand Down Expand Up @@ -119,8 +134,22 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.7">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.7 %28x86 und x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>if $(ConfigurationName) == Release $(SolutionDir)\sign.bat $(TargetDir)\$(TargetFileName) $(TargetPath)</PostBuildEvent>
<PostBuildEvent>if $(ConfigurationName) == Release $(SolutionDir)\sign.bat $(TargetDir)\$(TargetFileName) $(TargetPath)
if $(ConfigurationName) == Release md "$(SolutionDir)\Installer\Deploy"
if $(ConfigurationName) == Release xcopy /iery "$(TargetDir)*.*" "$(SolutionDir)\Installer\Deploy"</PostBuildEvent>
</PropertyGroup>
</Project>
30 changes: 28 additions & 2 deletions ClickPaste.sln
Original file line number Diff line number Diff line change
@@ -1,20 +1,46 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.902
# Visual Studio Version 17
VisualStudioVersion = 17.4.33103.184
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClickPaste", "ClickPaste.csproj", "{DDA255E3-86CE-4C76-9417-B3778774412A}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "ClickPasteInstallerMM", "Installer\ClickPasteInstallerMM\ClickPasteInstallerMM.wixproj", "{79B73487-5AE1-4992-9B47-FEED81CC6CD8}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "ClickPasteInstaller", "Installer\ClickPasteInstaller\ClickPasteInstaller.wixproj", "{287D7A35-F66C-4406-A72F-1379D83204AA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|x86.ActiveCfg = Debug|Any CPU
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|x86.Build.0 = Debug|Any CPU
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|Any CPU.Build.0 = Release|Any CPU
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|x86.ActiveCfg = Release|Any CPU
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|x86.Build.0 = Release|Any CPU
{79B73487-5AE1-4992-9B47-FEED81CC6CD8}.Debug|Any CPU.ActiveCfg = Debug|x86
{79B73487-5AE1-4992-9B47-FEED81CC6CD8}.Debug|Any CPU.Build.0 = Debug|x86
{79B73487-5AE1-4992-9B47-FEED81CC6CD8}.Debug|x86.ActiveCfg = Debug|x86
{79B73487-5AE1-4992-9B47-FEED81CC6CD8}.Debug|x86.Build.0 = Debug|x86
{79B73487-5AE1-4992-9B47-FEED81CC6CD8}.Release|Any CPU.ActiveCfg = Release|x86
{79B73487-5AE1-4992-9B47-FEED81CC6CD8}.Release|Any CPU.Build.0 = Release|x86
{79B73487-5AE1-4992-9B47-FEED81CC6CD8}.Release|x86.ActiveCfg = Release|x86
{79B73487-5AE1-4992-9B47-FEED81CC6CD8}.Release|x86.Build.0 = Release|x86
{287D7A35-F66C-4406-A72F-1379D83204AA}.Debug|Any CPU.ActiveCfg = Debug|x86
{287D7A35-F66C-4406-A72F-1379D83204AA}.Debug|Any CPU.Build.0 = Debug|x86
{287D7A35-F66C-4406-A72F-1379D83204AA}.Debug|x86.ActiveCfg = Debug|x86
{287D7A35-F66C-4406-A72F-1379D83204AA}.Debug|x86.Build.0 = Debug|x86
{287D7A35-F66C-4406-A72F-1379D83204AA}.Release|Any CPU.ActiveCfg = Release|x86
{287D7A35-F66C-4406-A72F-1379D83204AA}.Release|Any CPU.Build.0 = Release|x86
{287D7A35-F66C-4406-A72F-1379D83204AA}.Release|x86.ActiveCfg = Release|x86
{287D7A35-F66C-4406-A72F-1379D83204AA}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
93 changes: 93 additions & 0 deletions Installer/ClickPasteInstaller/ClickPasteInstaller.wixproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.7</ProductVersion>
<ProjectGuid>{287d7a35-f66c-4406-a72f-1379d83204aa}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>ClickPasteInstaller</OutputName>
<OutputType>Package</OutputType>
<!-- If MSIProductVersion not passed in, try to get it from TFBuild Environments (XAML Builds)-->
<MSIProductVersion Condition=" '$(MSIProductVersion)' == '' ">$([System.Text.RegularExpressions.Regex]::Match($(TF_BUILD_BUILDNUMBER), "\d+.\d+.\d+.\d+"))</MSIProductVersion>
<!-- If MSIProductVersion still not known, try to get it from TFBuild Environments (V.Next Builds)-->
<MSIProductVersion Condition=" '$(MSIProductVersion)' == '' ">$([System.Text.RegularExpressions.Regex]::Match($(BUILD_BUILDNUMBER), "\d+.\d+.\d+.\d+"))</MSIProductVersion>
<!-- If MSIProductVersion still not known, default to lowerbound 0.0.1 for developer builds.-->
<MSIProductVersion Condition=" '$(MSIProductVersion)' == '' ">0.0.1</MSIProductVersion>
<!-- The following allows one cert to be referenced from the certificate store for self-signing in localbuilds and another cert to be passed in during official builds. -->
<AppxCertificateThumbprint Condition=" '$(AppxCertificateThumbprint)' == '' ">
</AppxCertificateThumbprint>
<AppxTimestampUrl Condition=" '$(AppxTimestampUrl)' == '' ">
</AppxTimestampUrl>
<MsixCertificateThumbprint Condition=" '$(MsixCertificateThumbprint)' == '' ">
</MsixCertificateThumbprint>
<MsixTimestampUrl Condition=" '$(MsixTimestampUrl)' == '' ">
</MsixTimestampUrl>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug;MSIProductVersion=$(MSIProductVersion)</DefineConstants>
<WixVariables>WixUIBannerBmp=Resources\Banner.jpg;WixUIDialogBmp=Resources\Dialog.jpg;WixUILicenseRtf=Resources\EULA.rtf</WixVariables>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>MSIProductVersion=$(MSIProductVersion)</DefineConstants>
<WixVariables>WixUIBannerBmp=Resources\Banner.jpg;WixUIDialogBmp=Resources\Dialog.jpg;WixUILicenseRtf=Resources\EULA.rtf</WixVariables>
</PropertyGroup>
<ItemGroup>
<Folder Include="Code" />
</ItemGroup>
<ItemGroup>
<Compile Include="Code\Autostart.wxs" />
<Compile Include="Code\Product.wxs" />
<Compile Include="Code\Features.wxs" />
<Compile Include="Code\UI.wxs" />
</ItemGroup>
<ItemGroup>
<WixExtension Include="WixUIExtension">
<HintPath>$(WixExtDir)\WixUIExtension.dll</HintPath>
<Name>WixUIExtension</Name>
</WixExtension>
<WixExtension Include="WixNetFxExtension">
<HintPath>$(WixExtDir)\WixNetFxExtension.dll</HintPath>
<Name>WixNetFxExtension</Name>
</WixExtension>
<WixExtension Include="WixUtilExtension">
<HintPath>$(WixExtDir)\WixUtilExtension.dll</HintPath>
<Name>WixUtilExtension</Name>
</WixExtension>
</ItemGroup>
<ItemGroup>
<Folder Include="Resources" />
</ItemGroup>
<ItemGroup>
<Content Include="Resources\Banner.jpg" />
<Content Include="Resources\Dialog.jpg" />
<Content Include="Resources\EULA.rtf" />
<Content Include="..\..\Resources\Icon.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ClickPasteInstallerMM\ClickPasteInstallerMM.wixproj">
<Name>ClickPasteInstallerMM</Name>
<Project>{79b73487-5ae1-4992-9b47-feed81cc6cd8}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
</ItemGroup>
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
<Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
<Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
</Target>
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
12 changes: 12 additions & 0 deletions Installer/ClickPasteInstaller/Code/Autostart.wxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment Id="AutoStart">
<DirectoryRef Id="TARGETDIR">
<Component Id="AutoStart">
<Shortcut Id="AutoStartSC" Target="[INSTALLLOCATION]ClickPaste.exe" Name="ClickPaste" Directory="StartupFolder" />
<RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]\installs' Name="autostart" Type='string' Value='' KeyPath='yes' />
</Component>
<Directory Id="StartupFolder" />
</DirectoryRef>
</Fragment>
</Wix>
18 changes: 18 additions & 0 deletions Installer/ClickPasteInstaller/Code/Features.wxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLLOCATION" Name="ClickPaste">
<Merge Id="ClickPasteInstallerMM" SourceFile="$(var.ClickPasteInstallerMM.TargetPath)" DiskId="1" Language="1033" />
</Directory>
</Directory>
</Directory>
<Feature Id="ClickPaste" Title="ClickPaste" Description="Installs all the files needed for ClickPaste" Level="1" AllowAdvertise="no" ConfigurableDirectory="INSTALLLOCATION" Display="expand">
<MergeRef Id="ClickPasteInstallerMM" />
<Feature Id="AutoStart" Description="Autostart After Logon" Title="AutoStart">
<ComponentRef Id="AutoStart" />
</Feature>
</Feature>
</Fragment>
</Wix>
38 changes: 38 additions & 0 deletions Installer/ClickPasteInstaller/Code/Product.wxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<!--
The Product@Id attribute (ProductCode Property) will be a random GUID for each build. This is to support "Major Upgrades" where each install
is a seamless uninstall/reinstall.
-->
<Product Id="*" Name="ClickPaste" Language="1033" Version="1.0.2" Manufacturer="Collective-Software" UpgradeCode="874905ba-a293-4185-a31b-e89476f3bbc8">
<Package InstallerVersion="301" Compressed="yes" InstallScope="perMachine" />
<MediaTemplate EmbedCab="yes" />

<!-- Major Upgrade Rule to disallow downgrades -->
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />

<!--Common Launch Condition-->
<!-- Examples at http://wixtoolset.org/documentation/manual/v3/customactions/wixnetfxextension.html -->
<PropertyRef Id="NETFRAMEWORK40FULL"/>
<Condition Message="[ProductName] requires .NET Framework 4.0.">Installed OR NETFRAMEWORK40FULL</Condition>

<!-- Include User Interface Experience -->
<Icon Id="Target.ico" SourceFile="..\..\Resources\Target.ico"/>
<Property Id="ARPPRODUCTICON" Value="Target.ico"></Property>
<UIRef Id="UI"/>

<!-- Include Features and Directories Fragment -->
<DirectoryRef Id="INSTALLLOCATION"/>

<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1"/>
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch ClickPaste now" />


<!-- Step 3: Include the custom action -->
<Property Id="WixShellExecTarget" Value="[INSTALLLOCATION]ClickPaste.exe" />
<CustomAction Id="LaunchApplication"
BinaryKey="WixCA"
DllEntry="WixShellExec"
Impersonate="yes" />
</Product>
</Wix>
13 changes: 13 additions & 0 deletions Installer/ClickPasteInstaller/Code/UI.wxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI Id="UI">
<!-- See http://wix.sourceforge.net/manual-wix3/WixUI_index.htm for more information-->
<UIRef Id="WixUI_FeatureTree"/>
<Publish Dialog="ExitDialog"
Control="Finish"
Event="DoAction"
Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
</UI>
</Fragment>
</Wix>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading