سؤال

I have a custom action to execute a custom action DLL but it is failing and I believe it's because it does not know how to read the strong name assembly

so I have this:

  <Binary Id="StrongName" SourceFile="$(var.MyProject.TargetDir)MyProject.CA.dll"/>

  <CustomAction Id="CreateIt"
                BinaryKey="StrongName"
                DllEntry="Create"
                Execute="deferred"
                Return="check"
                HideTarget="no"
                Impersonate="no" />

  <CustomAction Id="RemoveIt"
                BinaryKey="StrongName"
                DllEntry="Remove"
                Execute="deferred"
                Return="check"
                HideTarget="no"
                Impersonate="no" />

     <InstallExecuteSequence>
          <Custom Action="CreateIt" Before="InstallFinalize">(NOT REMOVE =       "ALL")</Custom>
          <Custom Action="RemoveIt" Before='InstallFinalize'>(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
     </InstallExecuteSequence>

So how do I reference the signature as I execute this DLL?

هل كانت مفيدة؟

المحلول 2

The solution to my problem was a security issue caused by an obsolete library which is not supported in .NET 4 and it is a different topic so I will not go into detail on it unless someone is curious.

نصائح أخرى

I assume from the *.CA.DLL nomenclature that you are using that this is a DTF custom action. This is a native encapsulated DLL that hosts your managed DLL. Being native, it can't be strong named.

Log the install and look through the log for the reason it is failing.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top