120

Why has itself and the evidence it ever existed been removed?

Only a half year ago it was promoted on channel9 as Something that should be in everyones pack -- today the Microsoft Archive is "retired" and totally keeps quiet that the API code pack ever existed.

BoltClock
  • 700,868
  • 160
  • 1,392
  • 1,356
springy76
  • 3,706
  • 2
  • 24
  • 46
  • 7
    Maybe [this](http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/5648009-start-developing-the-windows-api-code-pack-again) is of interest as well. – Christian.K Jul 07 '14 at 05:59
  • 1
    I know that this is an old question but it turned up early in my search results so I thought I'd add my $0.02. I haven't researched extensively but I think that the Windows API Code Pack may have been officially superseded by the [Windows 10 WinRT API Pack](https://www.nuget.org/packages/Microsoft.Windows.SDK.Contracts/). – jmcilhinney Feb 08 '21 at 02:02

6 Answers6

70

I can't answer the question of why, nor do I wish to speculate (maybe someone else closer to the issue can tell us what happened), but thankfully it's not completely gone. It looks like the binaries have been reuploaded to NuGet by other developers, although note that none of the packages are official ones from Microsoft.

The following packages were uploaded by NuGet user aybe:

As usual, to install them:

Install-Package WindowsAPICodePack-Core
Install-Package WindowsAPICodePack-ExtendedLinguisticServices
Install-Package WindowsAPICodePack-Sensors
Install-Package WindowsAPICodePack-Shell
Install-Package WindowsAPICodePack-ShellExtensions
BoltClock
  • 700,868
  • 160
  • 1,392
  • 1,356
  • 4
    There are a number of [similar packages on NuGet](http://www.nuget.org/packages?q=windows+api+code+pack) created by different persons. Obviously none of these packages is an “official” one, and none of them is listed in the “Microsoft and .NET” feed. – Martin Jun 26 '14 at 08:03
  • 1
    Can anyone say with any certainty that these packages are the same as what used to be available straight from Microsoft? – Chris Sep 23 '15 at 18:51
  • 12
    There is now a 'Microsoft.WindowsAPICodePack-Core' from Microsoft. – DefenestrationDay Apr 21 '16 at 14:01
  • 3
    @DefenestrationDay: Assuming you are talking about [this one](https://www.nuget.org/packages/Microsoft.WindowsAPICodePack-Core), that was the one I originally linked to, and it's not from Microsoft, it's from someone who happened to have copies of just two of the packages and not everything. – BoltClock Apr 21 '16 at 14:10
  • Although not from Microsoft, it is reassuring that *aybe's* Nuget package is an upload of **source code**, not a binary. For example, for common file dialogs, you can build it yourself, and trace the calls to see that the actual work is done via built-in .NET dlls ("shell32.dll", etc.) See `ShellNativeMethods.cs` for the `DllImport` definitions. – ToolmakerSteve Apr 01 '18 at 20:16
  • .. also see Core\Interop\CoreNativeMethods.cs. Defines some entry points in "user32.dll", "kernel32.dll" and "gdi32.dll". Searching solution, there are about a dozen files with `DllImport` lines. But it looks like Shell & Core NativeMethods are the main ones. – ToolmakerSteve Apr 01 '18 at 20:29
  • aybe's github : https://github.com/aybe/Windows-API-Code-Pack-1.1 – VietDD Sep 16 '18 at 01:35
16

Someone has uploaded it to GitHub.

Diego Barros
  • 2,071
  • 2
  • 33
  • 45
15

A zip file containing the same files as the original executable self-extractor (i.e. the source, binaries and docs) is located here: https://github.com/jamie-pate/KeepSync/blob/master/contrib/Windows%20API%20Code%20Pack%201.1.zip.

i_saw_drones
  • 3,486
  • 1
  • 31
  • 50
  • This should be the proper answer. Unpacked and added the binary references. Working like a charm – Adjit Nov 24 '15 at 17:00
2

The original links are dead, but an Microsoft employee has uploaded the v1.1 original codepack to nuget. Search for winapicp at nuget, or use this link: Windows API Code Pack for Microsoft .NET Framework

TorstenR
  • 41
  • 4
  • 2
    What makes you believe it was a Microsoft employee? – springy76 Jul 28 '16 at 12:39
  • Because within the MS hosted forum this was marked as the answer by the moderator, who itself IS a MS employee https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/af110498-e793-4a30-98fd-c0f78cf38185/api-code-pack-disappeared?forum=windowsgeneraldevelopmentissues – TorstenR Aug 02 '16 at 11:54
  • 7
    @user3082079 just because its marked as an answer by a MS employee does not mean the package is officially published by a MS employee. Even if he/she is there is no term guarantee that its officially released by MS. Note that a MS employee does not represent MS for all the work he/she publishes. MS Moon light project allows employees to publish their own work that's not under MS's name. – Steve Sep 12 '16 at 19:48
  • Quick note that this package does not contain PDBs. – i_saw_drones Feb 09 '18 at 10:32
1

Here's link (or this link) to original Windows API CodePack 1.1.

JohnyL
  • 6,894
  • 3
  • 22
  • 41
  • 1
    Oh, I remembered that there's a bug in "Windows API Code Pack 1.1\source\WindowsAPICodePack\Core\Interop\TaskDialogs\TaskDialogNativeMethods.cs" file. You should swap the following lines: "mainIcon = i;" and "spacer = IntPtr.Zero;". So, the order is: "spacer = IntPtr.Zero;" and then "mainIcon = i;". – JohnyL Dec 30 '14 at 18:49
  • 3
    Maybe because these are links to privately hosted EXE files. 1) Some people do not trust exe files from unofficial sources (even though that they are signed). 2) This answer has a lifetime of the subscription to these hosts. Maybe other reasons... – Martin Schneider May 02 '19 at 08:58
0

Seems like someone also posted it on CodePlex.

Filip Skakun
  • 31,624
  • 6
  • 74
  • 100