Skip to content

Commit 4085b1d

Browse files
author
Greg
committed
Added an MSI Installer to set up ClickPaste in \Program Files, so it can take advantage of UIAccess and not have to run as UAC to touch elevated windows. Also handy way to specify which startup/shortcut behavior is desired.
Updated README.md to refer to the installer. Updated LICENSE copyright.
1 parent e556d4e commit 4085b1d

13 files changed

Lines changed: 500 additions & 7 deletions

ClickPaste.sln

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,56 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio 15
4-
VisualStudioVersion = 15.0.28307.902
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.14.36603.0 d17.14
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClickPaste", "ClickPaste.csproj", "{DDA255E3-86CE-4C76-9417-B3778774412A}"
77
EndProject
8+
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "ClickPaste-Setup", "Setup\ClickPaste-Setup.wixproj", "{30F8A3AE-89ED-4139-A7EC-315C78E56D75}"
9+
EndProject
810
Global
911
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1012
Debug|Any CPU = Debug|Any CPU
13+
Debug|ARM64 = Debug|ARM64
14+
Debug|x64 = Debug|x64
15+
Debug|x86 = Debug|x86
1116
Release|Any CPU = Release|Any CPU
17+
Release|ARM64 = Release|ARM64
18+
Release|x64 = Release|x64
19+
Release|x86 = Release|x86
1220
EndGlobalSection
1321
GlobalSection(ProjectConfigurationPlatforms) = postSolution
1422
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1523
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|Any CPU.Build.0 = Debug|Any CPU
24+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
25+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|ARM64.Build.0 = Debug|Any CPU
26+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|x64.ActiveCfg = Debug|Any CPU
27+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|x64.Build.0 = Debug|Any CPU
28+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|x86.ActiveCfg = Debug|Any CPU
29+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Debug|x86.Build.0 = Debug|Any CPU
1630
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|Any CPU.ActiveCfg = Release|Any CPU
1731
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|Any CPU.Build.0 = Release|Any CPU
32+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|ARM64.ActiveCfg = Release|Any CPU
33+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|ARM64.Build.0 = Release|Any CPU
34+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|x64.ActiveCfg = Release|Any CPU
35+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|x64.Build.0 = Release|Any CPU
36+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|x86.ActiveCfg = Release|Any CPU
37+
{DDA255E3-86CE-4C76-9417-B3778774412A}.Release|x86.Build.0 = Release|Any CPU
38+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Debug|Any CPU.ActiveCfg = Debug|x64
39+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Debug|Any CPU.Build.0 = Debug|x64
40+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Debug|ARM64.ActiveCfg = Debug|ARM64
41+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Debug|ARM64.Build.0 = Debug|ARM64
42+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Debug|x64.ActiveCfg = Debug|x64
43+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Debug|x64.Build.0 = Debug|x64
44+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Debug|x86.ActiveCfg = Debug|x86
45+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Debug|x86.Build.0 = Debug|x86
46+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Release|Any CPU.ActiveCfg = Release|x64
47+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Release|Any CPU.Build.0 = Release|x64
48+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Release|ARM64.ActiveCfg = Release|ARM64
49+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Release|ARM64.Build.0 = Release|ARM64
50+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Release|x64.ActiveCfg = Release|x64
51+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Release|x64.Build.0 = Release|x64
52+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Release|x86.ActiveCfg = Release|x86
53+
{30F8A3AE-89ED-4139-A7EC-315C78E56D75}.Release|x86.Build.0 = Release|x86
1854
EndGlobalSection
1955
GlobalSection(SolutionProperties) = preSolution
2056
HideSolutionNode = FALSE

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
BSD 3-Clause License
22

3-
Copyright (c) 2020, Collective-Software
3+
Copyright (c) 2026, Collective Software LLC
44
All rights reserved.
55

66
Redistribution and use in source and binary forms, with or without

Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@
3232
// You can specify all the values or you can default the Build and Revision Numbers
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("1.4.2.0")]
36-
[assembly: AssemblyFileVersion("1.4.2.0")]
35+
[assembly: AssemblyVersion("1.4.3.0")]
36+
[assembly: AssemblyFileVersion("1.4.3.0")]

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ Windows 10/11 notification area app in C# that can paste clipboard contents as k
33

44
## Starting
55

6-
* Launch ClickPaste.exe, or put it in your Startup folder.
7-
* (Running as UAC administrator is _no longer needed_ in order to access UAC-elevated processes, because from v1.4.3 onward we set "UIAccess=true" in the application manifest.)
6+
* You can install ClickPaste using the MSI installer or get the portable ZIP from the [Releases page](../../releases/latest)
7+
* Note that in order to paste to UAC-elevated processes, Microsoft requires the ClickPaste binary to be run from the system drive's "Program Files" folder.
8+
(The easiest way to achieve that is to use the MSI installer.)
9+
* Launch ClickPaste from a shortcut or by double-clicking ClickPaste.exe.
810

911
## Usage
1012

Setup/ClickPaste-Setup.wixproj

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<Project Sdk="WixToolset.Sdk/7.0.0">
2+
<PropertyGroup>
3+
<AcceptEula>wix7</AcceptEula>
4+
<SuppressSpecificWarnings>1118</SuppressSpecificWarnings>
5+
</PropertyGroup>
6+
<ItemGroup>
7+
<Content Include="UI_Back.wxi" />
8+
<Content Include="UI_Next.wxi" />
9+
</ItemGroup>
10+
<ItemGroup>
11+
<PackageReference Include="FireGiant.HeatWave.BuildTools.wixext" Version="7.0.0" />
12+
<PackageReference Include="WixToolset.UI.wixext" Version="7.0.0" />
13+
<PackageReference Include="WixToolset.Util.wixext" Version="7.0.0" />
14+
</ItemGroup>
15+
<ItemGroup>
16+
<ProjectReference Include="..\ClickPaste.csproj" />
17+
</ItemGroup>
18+
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
19+
<Exec Command="call $(SolutionDir)\sign.bat $(TargetPath)" />
20+
</Target>
21+
</Project>

0 commit comments

Comments
 (0)