A little problem with the rollback custom action. I created a new project "Class Library", added a new "Installer Class" to it, implemented some methods and put this project in my solution, which contains the code of my application. I also used the Primary Output of this project as a custom action for Install, Rollback and Uninstall. To resume, the standard (as I read) procedure to add custom actions.
Here is the code I use in my Installer Class:
namespace DKChangeACL
{
[RunInstaller(true)]
public partial class DKChangeACL : Installer
{
public DKChangeACL()
{
InitializeComponent();
}
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
}
public override void Rollback(System.Collections.IDictionary savedState)
{
base.Rollback(savedState);
}
public override void Uninstall(System.Collections.IDictionary savedState)
{
base.Uninstall(savedState);
}
}
}
Can't be simpler... I follow the steps described in the test case 23, the failure is hit, the installer rolls back, but I always find a file T*.tmp file, which appears to be a binary file, in the [ProgramFiles]\[ProductName] directory. When I open it with a text editor, I can find some strings like "This program cannot be run in DOS mode." or "DKChangeACL.dll DKChangeACL System.Configuration.Install Installer System System.ComponentModel IContainer components Dispose InitializeComponent .ctor mscorlib System.Collections IDictionary Install" etc...
It only appears when I use the Primary Output of the Class Library project in the Rollback Action, and I tried that with a empty project, this .tmp file is still here!
I don't know where this file comes from, but it makes my application fail this test case.
Has anyone encountered a problem like this