I am using clickonce to install an old legacy winforms application. The application was originally singed by an self-signed certificate that recently expired and a new self-signed certificate was created using the visual studio "create test cerificate"-tool. The problem is that after creating the new ceritificate, application.exe.manifest had incorrect paths for some resource-dll dependencies. The application installs and works fine, but due to some resource dll:s not being copied to correct paths the localization for the application is broken.
For example below you can see MyApplication.PersistentObjects.resources.dll dependency. When the application is installed it should be copied into "fi-FI"-folder in the application install directory, but it is not. If I copy the file manually the application functions correctly.
The weird thing is that using some workstations to build the manifest it is built correctly. The problem also persist even if I try generate manifest for older version of the application that worked previously. Due to this, I think the problem could be related to build environment rather than the new certificate. I am building the manifest with publish-functionality of visual studio 2017.
Dependency from old version. This works
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="fi-FI\MyApplication.PersistentObjects.resources.dll" size="7680">
<assemblyIdentity name="MyApplication.PersistentObjects.resources" version="1.0.0.0" language="fi-FI" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>u9nDJ6g9YVoJqrH9B4u+8uVVPRCWgMeNNsfFsiJKFdU=</dsig:DigestValue>
</hash>
</dependentAssembly>
Dependency from new version. This doesn't work
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MyApplication.PersistentObjects.resources.dll" size="7680">
<assemblyIdentity name="MyApplication.PersistentObjects.resources" version="1.0.0.0" language="fi-FI" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>xYh9ijZkRARKgrSp5DUays/YHXwGAEpIhuh8jahwdEA=</dsig:DigestValue>
</hash>
</dependentAssembly>