title: .NET 4 ClickOnce expired certificate
body: <p>I just tried to publish an update to my .NET 4 <a href="http://en.wikipedia.org/wiki/Windows_Presentation_Foundation" rel="nofollow">WPF</a> application and received the following error:</p>
  
  <blockquote>
    <p>Error 2   An error occurred while signing: Failed to sign
    bin\Debug\app.publish\setup.exe. SignTool Error: The signer's
    certificate is not valid for signing. SignTool Error: An error
    occurred while attempting to sign: bin\Debug\app.publish\setup.exe</p>
  </blockquote>
  
  <p>I checked the certificate, and it did expire last month so that is the reason why I'm getting this error message...</p>
  
  <p>Now, according to the MSDN article <em><a href="http://msdn.microsoft.com/en-us/library/ff369721.aspx" rel="nofollow">Certificate Expiration in ClickOnce Deployment</a></em>, I can just create a new certificate, publish and everything should be fine, but since I don't want to deal with this expiring certificate issue any more and that same article states the following:</p>
  
  <blockquote>
    <p>You can use MakeCert to create your own certificate and specify the
    end date so you don’t have to deal with the expired certificate issue
    <strong>until you upgrade to .NET 4.0 and no longer have to deal with it</strong>.</p>
  </blockquote>
  
  <p>How do I get to the point where I "no longer have to deal with it"?</p>
  
  <p>Can I just uncheck "Sign the ClickOnce manifest" checkbox in the Signing section of my application properties and not have to deal with this any more considering this is a .NET 4 application or not?</p>
  
  <p>If not, can I use the <code>makecert.exe</code> tool to generate a certificate that expires in 2099 and use that to sign my application?</p>
  
  <p>If not, how exactly can I avoid dealing with certificates using .NET 4 going forward?</p>