Reputation: 3943
I have done a clickOnce installer. It seems to be ok, but I have a little problem.
I have set as prerequisite sql server 2008 express.
If I change it to 2012, it install the prerequisites correctly, but, when it is starting to install my app, it gives error, searching for Microsoft.SqlServer.management.dmf version 10.0.0.0.
The weird point is that, reading this link, the version 10 is required for sql server 2008 (while 2012 asks for the version 11).
So, why does it asks for the version 10? I'am trying it on blank virtual machine, so I'm sure there aren't any stuff installed.
I have also read this, where the answerer said to go in Project Properties > Publish > Application Files and remove some libs (I have removed the microsoft.sqlServer libs). I have done it, but nothing! It is still asking for Microsoft.SqlServer.management.dmf. It is installed in the system with the shared management object, but why it asks for the version of sql server 2008?
How can, at least, discover who is needing it?
Below there is my application files in the Publish section. As you can see, I have excluded some libs. Before, they were set as prerequisite.
Upvotes: 5
Views: 2356
Reputation: 11
I fixed it by Include Microsoft.SqlServer.* in for Publish Status. project properties> publish > Application Files > Publish Status column select "Include" on all Microsoft.SqlServer.* files. In my case, it works on the next publish version right after this changes.
Upvotes: 1
Reputation: 3943
Solved with this mapping in
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.ConnectionInfo" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Diagnostics.STrace" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.SqlEnum" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Dmf" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.SqlClrProvider" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Management.SmoMetadataProvider" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Management.Sdk.Sfc" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Smo" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Management.SqlParser" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.ServiceBrokerEnum" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Upvotes: 3