locked
PreRequisite assembly in app manifest RRS feed

  • Question

  • Hi,

    I have ClickOnce project that references assembly that in turn references IMB MQ assembly amqmdnet.dll.

    When I build this project using msbuild I get an extra dependency built in

    <dependency>
        <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
          <assemblyIdentity name="amqmdxcs" version="6.0.0.0" publicKeyToken="7A58D55A51981A15" language="neutral" processorArchitecture="msil" />
        </dependentAssembly>
      </dependency>
      <dependency>

    When I build it via VS, application manifest does not have it.

    This amqmdxcs.dll is not required to run my application. It does not show up in Application Files. It must be something referenced by amqmdnet.dll. I don't have this dll on my machine and application works when published via VS. The Windows Forms version of this application also works without this amqmdxcs.dll.

    When I run the app I get an error "Unable to install or run the application. The application requires that assembly amqmdxcs Version 6.0.0.0 be installed in the Global Assembly Cache (GAC) first."

    Why does msbuild add it to app manifest as preRequisite? How can I make sure it's not there?

    Thank you.


    Isolda
    Tuesday, September 27, 2011 6:48 PM

Answers

  • I think I found the reason. I'm doing msbuild on machine that has IBM MQ client installed. It must be finding this dependency in GAC and building it into app manifest. Machine where I run VS build does not have IBM MQ client installed, so it's not added.
    Isolda
    • Proposed as answer by Neddy Ren Thursday, September 29, 2011 8:52 AM
    • Marked as answer by Neddy Ren Thursday, October 6, 2011 5:13 AM
    Wednesday, September 28, 2011 3:20 PM
  • Hi Isolda,

    Welcome to the MSDN Forum.

    As I understand, you must have add the references to your applications, or you use the features in your applications. And the dll is registered in the GAC.

    It means, when you deploy it in a new computer, you will need to register the dll in the GAC and than, you can run your applications.

    On how to regist the dlls in the ClicOnce, see the articles here:

    Simplify App Deployment with ClickOnce and Registration-Free COM:
    http://msdn.microsoft.com/en-us/magazine/cc188708.aspx

    If you have any questions, please feel free to tell us.

    Best Regards


    Neddy Ren [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • Marked as answer by Neddy Ren Thursday, October 6, 2011 5:13 AM
    Thursday, September 29, 2011 9:04 AM

All replies

  • I think I found the reason. I'm doing msbuild on machine that has IBM MQ client installed. It must be finding this dependency in GAC and building it into app manifest. Machine where I run VS build does not have IBM MQ client installed, so it's not added.
    Isolda
    • Proposed as answer by Neddy Ren Thursday, September 29, 2011 8:52 AM
    • Marked as answer by Neddy Ren Thursday, October 6, 2011 5:13 AM
    Wednesday, September 28, 2011 3:20 PM
  • Hi Isolda,

    Welcome to the MSDN Forum.

    As I understand, you must have add the references to your applications, or you use the features in your applications. And the dll is registered in the GAC.

    It means, when you deploy it in a new computer, you will need to register the dll in the GAC and than, you can run your applications.

    On how to regist the dlls in the ClicOnce, see the articles here:

    Simplify App Deployment with ClickOnce and Registration-Free COM:
    http://msdn.microsoft.com/en-us/magazine/cc188708.aspx

    If you have any questions, please feel free to tell us.

    Best Regards


    Neddy Ren [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • Marked as answer by Neddy Ren Thursday, October 6, 2011 5:13 AM
    Thursday, September 29, 2011 9:04 AM