Wallace Kelly

writes about F#, WPF, async, and the like.

MAGE.EXE and the Certificate Store

I need to sign a ClickOnce manifest using mage.exe. The certificate is in the Windows Certificate Store. How do I do that?

There are two things you need to know.

First, use mage.exe's -CertHash parameter instead of the -CertFile parameter.

Second, locate the certificate's hash.

  • Open the certmgr.msc management console.
  • Locate the certificate of interest.
  • Double-click on it.
  • Select the Details tab.
  • Scroll down to the Thumbprint field and select it.
  • Copy the Thumbprint onto the Windows clipboard.

Now, you can run mage.exe like this:

1: 
mage.exe -Sign MyApp.application -ch "e9 30 16 99 ed ..."

MAGE.EXE and the Certificate Store

I need to sign a ClickOnce manifest using mage.exe. The certificate is in the Windows Certificate Store. How do I do that?

Read more...

WPF ViewModel of an F# Record

How does one expose an F# record in a WPF view model? My F# code uses immutable records. But, I need to bind those records to a WPF user interface in a view model. What is the right way to do that?

Read more...

Script for adding and removing the ClickOnce .deploy extension

I was recently debugging a ClickOnce deployment. I needed a way to quickly add and remove the *.deploy extension from all the files in a deployment folder. Well, not all the files. The *.manifest file is treated differently.

Read more...

Calculating nice chart axis ranges

I was working on a project that required calculating nice ranges for chart axes. I found a useful discussion here.

Here is what I used in C# and so far it is working adequately.

Read more...

WPF menus that go up

I needed a menu docked to the bottom of an application's window. Docking to the bottom of the window is no problem. However, it did not work well, because by default, WPF menus drop down. I needed it to drop up.

Read more...

Subscribe