Skip to content

Commit a01bde2

Browse files
Add working client + installer
1 parent 6f0b85d commit a01bde2

16 files changed

Lines changed: 3113 additions & 0 deletions

Installer/Installer.wixproj

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5+
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
6+
<ProductVersion>3.10</ProductVersion>
7+
<ProjectGuid>534a8412-c453-4932-b8b6-d09f9153a75d</ProjectGuid>
8+
<SchemaVersion>2.0</SchemaVersion>
9+
<OutputName>Installer</OutputName>
10+
<OutputType>Package</OutputType>
11+
</PropertyGroup>
12+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
13+
<OutputPath>bin\$(Configuration)\</OutputPath>
14+
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
15+
<DefineConstants>Debug</DefineConstants>
16+
</PropertyGroup>
17+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
18+
<OutputPath>bin\$(Configuration)\</OutputPath>
19+
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
20+
</PropertyGroup>
21+
<ItemGroup>
22+
<Compile Include="Product.wxs" />
23+
</ItemGroup>
24+
<ItemGroup>
25+
<ProjectReference Include="..\LockscreenImageGrabber\LockscreenImageGrabber.csproj">
26+
<Name>LockscreenImageGrabber</Name>
27+
<Project>{d95895e4-5d73-40f5-924c-e63b95d5bbd0}</Project>
28+
<Private>True</Private>
29+
<DoNotHarvest>True</DoNotHarvest>
30+
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
31+
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
32+
</ProjectReference>
33+
</ItemGroup>
34+
<ItemGroup>
35+
<WixExtension Include="WixUIExtension">
36+
<HintPath>$(WixExtDir)\WixUIExtension.dll</HintPath>
37+
<Name>WixUIExtension</Name>
38+
</WixExtension>
39+
</ItemGroup>
40+
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
41+
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
42+
<Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
43+
<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/" />
44+
</Target>
45+
<!--
46+
To modify your build process, add your task inside one of the targets below and uncomment it.
47+
Other similar extension points exist, see Wix.targets.
48+
<Target Name="BeforeBuild">
49+
</Target>
50+
<Target Name="AfterBuild">
51+
</Target>
52+
-->
53+
</Project>

Installer/Product.wxs

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
3+
<Product Id="AA86C3D0-F359-41E4-BF94-8AC3361A0A8F"
4+
Name="Lockscreen Image Grabber" Language="1033" Version="1.0" Manufacturer="Zaggoware" UpgradeCode="3d1a487f-336f-499c-82bc-d8d5b40230ef">
5+
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
6+
7+
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
8+
<MediaTemplate />
9+
10+
<Feature Id="ProductFeature" Title="Lockscreen Image Grabber Installer" Level="1" Display="expand" ConfigurableDirectory="TARGETDIR">
11+
<ComponentRef Id="MainExecutable" />
12+
<ComponentRef Id="ProgramMenuDir" />
13+
</Feature>
14+
15+
<Icon Id="icon.ico" SourceFile="$(var.LockscreenImageGrabber.TargetDir)\icon.ico" />
16+
17+
<Property Id="ARPPRODUCTICON" Value="icon.ico" />
18+
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />
19+
20+
<UI>
21+
<UIRef Id="WixUI_InstallDir" />
22+
<Publish Dialog="WelcomeDlg"
23+
Control="Next"
24+
Event="NewDialog"
25+
Value="InstallDirDlg"
26+
Order="2">1</Publish>
27+
28+
<Publish Dialog="InstallDirDlg"
29+
Control="Back"
30+
Event="NewDialog"
31+
Value="WelcomeDlg"
32+
Order="2">1</Publish>
33+
</UI>
34+
</Product>
35+
36+
<Fragment>
37+
<Directory Id="TARGETDIR" Name="SourceDir">
38+
<Directory Id="ProgramFilesFolder">
39+
<Directory Id="INSTALLFOLDER" Name="Lockscreen Image Grabber" />
40+
</Directory>
41+
42+
<Directory Id="ProgramMenuFolder" Name="Programs">
43+
<Directory Id="ProgramMenuDir" Name="Lockscreen Image Grabber">
44+
<Component Id="ProgramMenuDir" Guid="117A9C04-EA60-4A72-95E5-F08903AFB97F">
45+
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
46+
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
47+
</Component>
48+
</Directory>
49+
</Directory>
50+
51+
<Directory Id="DesktopFolder" Name="Desktop" />
52+
</Directory>
53+
</Fragment>
54+
55+
<Fragment>
56+
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
57+
<Component Id="MainExecutable" Guid="F2230F33-0E18-433F-A7DB-3CC2847999E0">
58+
<File Id="MainEXE" Name="LockscreenImageGrabber.exe" Source="$(var.LockscreenImageGrabber.TargetDir)\LockscreenImageGrabber.exe" KeyPath="yes">
59+
<Shortcut Id="StartMenuShortcut" Directory="ProgramMenuDir" Name="Lockscreen Image Grabber"
60+
WorkingDirectory="INSTALLDIR" Icon="icon.ico" IconIndex="0" Advertise="yes" />
61+
<Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="Lockscreen Image Grabber"
62+
WorkingDirectory="INSTALLDIR" Icon="icon.ico" IconIndex="0" Advertise="yes" />
63+
</File>
64+
</Component>
65+
</ComponentGroup>
66+
</Fragment>
67+
</Wix>

LockscreenImageGrabber.sln

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio 14
4+
VisualStudioVersion = 14.0.25420.1
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LockscreenImageGrabber", "LockscreenImageGrabber\LockscreenImageGrabber.csproj", "{D95895E4-5D73-40F5-924C-E63B95D5BBD0}"
7+
EndProject
8+
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Installer", "Installer\Installer.wixproj", "{534A8412-C453-4932-B8B6-D09F9153A75D}"
9+
EndProject
10+
Global
11+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
12+
Debug|Any CPU = Debug|Any CPU
13+
Debug|x86 = Debug|x86
14+
Release|Any CPU = Release|Any CPU
15+
Release|x86 = Release|x86
16+
EndGlobalSection
17+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
18+
{D95895E4-5D73-40F5-924C-E63B95D5BBD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19+
{D95895E4-5D73-40F5-924C-E63B95D5BBD0}.Debug|Any CPU.Build.0 = Debug|Any CPU
20+
{D95895E4-5D73-40F5-924C-E63B95D5BBD0}.Debug|x86.ActiveCfg = Debug|Any CPU
21+
{D95895E4-5D73-40F5-924C-E63B95D5BBD0}.Debug|x86.Build.0 = Debug|Any CPU
22+
{D95895E4-5D73-40F5-924C-E63B95D5BBD0}.Release|Any CPU.ActiveCfg = Release|Any CPU
23+
{D95895E4-5D73-40F5-924C-E63B95D5BBD0}.Release|Any CPU.Build.0 = Release|Any CPU
24+
{D95895E4-5D73-40F5-924C-E63B95D5BBD0}.Release|x86.ActiveCfg = Release|Any CPU
25+
{D95895E4-5D73-40F5-924C-E63B95D5BBD0}.Release|x86.Build.0 = Release|Any CPU
26+
{534A8412-C453-4932-B8B6-D09F9153A75D}.Debug|Any CPU.ActiveCfg = Debug|x86
27+
{534A8412-C453-4932-B8B6-D09F9153A75D}.Debug|x86.ActiveCfg = Debug|x86
28+
{534A8412-C453-4932-B8B6-D09F9153A75D}.Debug|x86.Build.0 = Debug|x86
29+
{534A8412-C453-4932-B8B6-D09F9153A75D}.Release|Any CPU.ActiveCfg = Release|x86
30+
{534A8412-C453-4932-B8B6-D09F9153A75D}.Release|Any CPU.Build.0 = Release|x86
31+
{534A8412-C453-4932-B8B6-D09F9153A75D}.Release|x86.ActiveCfg = Release|x86
32+
{534A8412-C453-4932-B8B6-D09F9153A75D}.Release|x86.Build.0 = Release|x86
33+
EndGlobalSection
34+
GlobalSection(SolutionProperties) = preSolution
35+
HideSolutionNode = FALSE
36+
EndGlobalSection
37+
EndGlobal

LockscreenImageGrabber/App.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<configuration>
3+
<startup>
4+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
5+
</startup>
6+
</configuration>
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4+
<PropertyGroup>
5+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7+
<ProjectGuid>{D95895E4-5D73-40F5-924C-E63B95D5BBD0}</ProjectGuid>
8+
<OutputType>WinExe</OutputType>
9+
<AppDesignerFolder>Properties</AppDesignerFolder>
10+
<RootNamespace>LockscreenImageGrabber</RootNamespace>
11+
<AssemblyName>LockscreenImageGrabber</AssemblyName>
12+
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
13+
<FileAlignment>512</FileAlignment>
14+
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
15+
</PropertyGroup>
16+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
17+
<PlatformTarget>AnyCPU</PlatformTarget>
18+
<DebugSymbols>true</DebugSymbols>
19+
<DebugType>full</DebugType>
20+
<Optimize>false</Optimize>
21+
<OutputPath>bin\Debug\</OutputPath>
22+
<DefineConstants>DEBUG;TRACE</DefineConstants>
23+
<ErrorReport>prompt</ErrorReport>
24+
<WarningLevel>4</WarningLevel>
25+
</PropertyGroup>
26+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
27+
<PlatformTarget>AnyCPU</PlatformTarget>
28+
<DebugType>pdbonly</DebugType>
29+
<Optimize>true</Optimize>
30+
<OutputPath>bin\Release\</OutputPath>
31+
<DefineConstants>TRACE</DefineConstants>
32+
<ErrorReport>prompt</ErrorReport>
33+
<WarningLevel>4</WarningLevel>
34+
</PropertyGroup>
35+
<ItemGroup>
36+
<Reference Include="System" />
37+
<Reference Include="System.Core" />
38+
<Reference Include="System.Xml.Linq" />
39+
<Reference Include="System.Data.DataSetExtensions" />
40+
<Reference Include="Microsoft.CSharp" />
41+
<Reference Include="System.Data" />
42+
<Reference Include="System.Deployment" />
43+
<Reference Include="System.Drawing" />
44+
<Reference Include="System.Net.Http" />
45+
<Reference Include="System.Windows.Forms" />
46+
<Reference Include="System.Xml" />
47+
</ItemGroup>
48+
<ItemGroup>
49+
<Compile Include="MainForm.cs">
50+
<SubType>Form</SubType>
51+
</Compile>
52+
<Compile Include="MainForm.Designer.cs">
53+
<DependentUpon>MainForm.cs</DependentUpon>
54+
</Compile>
55+
<Compile Include="Program.cs" />
56+
<Compile Include="Properties\AssemblyInfo.cs" />
57+
<Compile Include="Thumbnail.cs">
58+
<SubType>Component</SubType>
59+
</Compile>
60+
<EmbeddedResource Include="MainForm.resx">
61+
<DependentUpon>MainForm.cs</DependentUpon>
62+
</EmbeddedResource>
63+
<EmbeddedResource Include="Properties\Resources.resx">
64+
<Generator>ResXFileCodeGenerator</Generator>
65+
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
66+
<SubType>Designer</SubType>
67+
</EmbeddedResource>
68+
<Compile Include="Properties\Resources.Designer.cs">
69+
<AutoGen>True</AutoGen>
70+
<DependentUpon>Resources.resx</DependentUpon>
71+
</Compile>
72+
<None Include="Properties\Settings.settings">
73+
<Generator>SettingsSingleFileGenerator</Generator>
74+
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
75+
</None>
76+
<Compile Include="Properties\Settings.Designer.cs">
77+
<AutoGen>True</AutoGen>
78+
<DependentUpon>Settings.settings</DependentUpon>
79+
<DesignTimeSharedInput>True</DesignTimeSharedInput>
80+
</Compile>
81+
</ItemGroup>
82+
<ItemGroup>
83+
<None Include="App.config" />
84+
</ItemGroup>
85+
<ItemGroup>
86+
<Content Include="icon.ico">
87+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
88+
</Content>
89+
</ItemGroup>
90+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
91+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
92+
Other similar extension points exist, see Microsoft.Common.targets.
93+
<Target Name="BeforeBuild">
94+
</Target>
95+
<Target Name="AfterBuild">
96+
</Target>
97+
-->
98+
</Project>

LockscreenImageGrabber/MainForm.Designer.cs

Lines changed: 81 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)