Skip to content

Commit 12ef7e5

Browse files
committed
Integrate copy hook extension into NanaZip.ExtensionPackage.
1 parent d939ceb commit 12ef7e5

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

NanaZip.ExtensionPackage/NanaZip.ExtensionPackage.Installer.iss

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
#define AppVersion "5.1.0.0"
88
#endif
99

10+
#define ShellextName "NanaZip.ExtensionPackage.Shell"
11+
#define ShellextClsid "{{542CE69A-6EA7-4D77-9B8F-8F56CEA2BF16}"
12+
1013
[Setup]
1114
AppId={{42795434-AB1A-4197-A724-F13E08953DFC}
1215
AppName={#AppName}
@@ -28,8 +31,27 @@ OutputBaseFilename=NanaZip.ExtensionPackage_{#AppVersion}
2831
SolidCompression=yes
2932
WizardStyle=modern
3033

31-
ArchitecturesAllowed=x64compatible or arm64
32-
ArchitecturesInstallIn64BitMode=x64compatible or arm64
34+
ArchitecturesAllowed=x64os or arm64
35+
ArchitecturesInstallIn64BitMode=x64os or arm64
36+
37+
#ifdef InputPath
38+
SourceDir="{#InputPath}"
39+
#endif
40+
41+
[Files]
42+
Source: "x64\{#ShellextName}.dll"; DestDir: {app}; DestName: "{#ShellextName}.x64.dll"; Flags: 64bit; Check: IsX64OS
43+
Source: "ARM64\{#ShellextName}.dll"; DestDir: {app}; DestName: "{#ShellextName}.ARM64.dll"; Flags: 64bit; Check: IsArm64
44+
45+
[Registry]
46+
Root: HKA; Subkey: "Software\Classes\CLSID\{#ShellextClsid}"; Flags: uninsdeletekeyifempty; Check: IsX64OS
47+
Root: HKA; Subkey: "Software\Classes\CLSID\{#ShellextClsid}\InprocServer32"; ValueType: string; ValueData: "{app}\{#ShellextName}.x64.dll"; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: IsX64OS
48+
Root: HKA; Subkey: "Software\Classes\CLSID\{#ShellextClsid}\InprocServer32"; ValueType: string; ValueName: "ThreadingModel"; ValueData: "Apartment"; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: IsX64OS
49+
50+
Root: HKA; Subkey: "Software\Classes\CLSID\{#ShellextClsid}"; Flags: uninsdeletekeyifempty; Check: IsArm64
51+
Root: HKA; Subkey: "Software\Classes\CLSID\{#ShellextClsid}\InprocServer32"; ValueType: string; ValueData: "{app}\{#ShellextName}.ARM64.dll"; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: IsArm64
52+
Root: HKA; Subkey: "Software\Classes\CLSID\{#ShellextClsid}\InprocServer32"; ValueType: string; ValueName: "ThreadingModel"; ValueData: "Apartment"; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: IsArm64
53+
54+
Root: HKA; Subkey: "Software\Classes\Directory\shellex\CopyHookHandlers\{#ShellextClsid}"; ValueType: string; ValueData: "{#ShellextClsid}"; Flags: uninsdeletevalue uninsdeletekeyifempty
3355

3456
[Languages]
3557
Name: "english"; MessagesFile: "compiler:Default.isl"

NanaZip.ExtensionPackage/NanaZip.ExtensionPackage.Installer.proj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
55
<Version>5.1.$([System.DateTime]::Today.Subtract($([System.DateTime]::Parse('2021-08-31'))).TotalDays).0</Version>
6+
<InstallerInputPath>$(MSBuildThisFileDirectory)..\Output\Binaries\$(Configuration)</InstallerInputPath>
67
<InstallerOutputPath>$(MSBuildThisFileDirectory)..\Output</InstallerOutputPath>
78
</PropertyGroup>
89

@@ -12,6 +13,6 @@
1213
</ItemGroup>
1314

1415
<Target Name="BuildInstaller" BeforeTargets="AfterBuild">
15-
<Exec Command='"$(InnoSetupCompiler)" "$(MSBuildProjectName).iss" "/DAppVersion=$(Version)" "/O$(InstallerOutputPath)"' />
16+
<Exec Command='"$(InnoSetupCompiler)" "$(MSBuildProjectName).iss" "/DAppVersion=$(Version)" "/DInputPath=$(InstallerInputPath)" "/O$(InstallerOutputPath)"' />
1617
</Target>
1718
</Project>

0 commit comments

Comments
 (0)