Already loaded DLL needs to be changed and renamed. How to remove an existing DLL?

Running Q1IM 6.1.2: I inherited an environment that uses DLL's to allow for script libraries to code against target systems API's and such. I have coded changes to an existing loaded DLL in 1IM. It will have a new DLL name and namespace. I didn't inherit the code for the already loaded and differently named DLL. So I need to be able to clean up by removing the old DLL. Does anyone know how to remove a DLL?  The doc has information about how to Load a DLL but not the reverse. Thanks, Todd

  • Hi Todd,

    Was the (DLL) file added to the 1IM database using software loader?

    If it was you can remove it by simply deleting the entry from DialogFileInformation and DialogSoftwareRevision using ObjectBrowser.

    I'm not sure if this will delete the physical file from your install directories but if not you can just delete the DLL manually in the safe knowledge that 1IM won't automatically put it back.

    If the file wasn't loaded to the database then you should be able to just delete it from your install directories.

    HTH, Barry.
  • In reply to Barry Jackson:

    Hi Barry, Yes, it was loaded with the loader. Thanks for the table names, that's what I was looking for. (And missing from the Quest Doc). Thanks for the help. I just wanted to be able to know with certainty that the old DLL was removed as it has most of the same methods within it. Thanks again.

  • In reply to ToddFendt:

    Hi Barry, I was able to get my code changes into a DLL and into 1IM. What I wasn't sure about was if I had to compile or not? I did compile but if I want to change a config file for the DLL not having to compile would be a plus as sometimes compiles take many minutes beyond 'a quick change'. Please let me know if you have experience with this? Thanks, Todd
  • In reply to ToddFendt:

    Hi Todd,

    I'm afraid I'm not sure on this one. Have to defer to someone else on the forum sorry.

    Cheers, B.
  • In reply to ToddFendt:

    It is documented how to edit the files in the One Identity Manager database.

    And i may want to add, that using the Designer is way easier than using the ObjectBrowser and having to know the tables.

  • In reply to Barry Jackson:

    Adding or removing a DLL should not require a compile. But you can always check. If the database needs to be compiled, you will see a task in the DB queue called "Waiting for compiler." If you don't see that task, there is no need to compile.
  • In reply to Markus Weiss-Ehlers:

    This is great. I found similiar doc in my version 6.1.2 and 6.1.3 and 6.1.sp4. I will investigate. As it is in Designer it probably wants a compile. I will attempt to test the Compile required or not today. Thanks again, Todd
  • In reply to ToddFendt:

     Hi Todd,

    Most people compile where it really isn't necessary.   And in any case, it doesn't matter whether you make a change through ObjectBrowser or Designer...a compile will be required.

    In general, only the following operations require a compile:

    1. Changing a process.
    2. Changing a script.
    3. Changing a template.
    4. Adding or removing a config param where the "pre-processor relevent parameter" field is checked.

    Changing other parameters, adding DLLs, changing rights, etc. never require a compile.  And if you don't see "Waiting for compiler" in the DB queue, you are ready to go.



  • In reply to George Cerbone:

    OK. I was able to add a DLL (and other assorted required files) using the Software Loader. I then did not compile and all tested successfully. I also tried to add the DLL using the Designer, but the New option only allows me to Name the new file, not upload it. (Most of this exercise was for me to be able to code for the four different timeouts values used by .Net when connecting to a web service, {Remedy: to create different tickets and user maintenance}. I ended up using Config Params and passing them through the vb code to the .Net method call. Saved me from doing any sort of config file for the DLL, and I can change the values with out a compile. Thanks for the information from everyone. It was very helpful. Have a great day, Todd
  • Hi all, I have another DLL situation if anyone has any experience with this. I just upgraded Q1IM from 6.1.2 to 6.1.4. From that moment on one of my DLL's now gets this error:
    [810222] Error executing script 'CCC_Update_Account'.
    Could not find default endpoint element that references contract 'RemedyServiceReference.PortPortType'
    in the ServiceModel client configuration section.
    This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element.

    It has it's own dll.exe.config.
    I have found hits on stack overflow but none of them seem to apply directly. It seems to be a configuration issue.

    I did try copying the system.servicemodel section of XML to the viNetworkService.exe.config and restarted the service. No luck, still getting the same error.

    Any ideas? Thanks, Todd
  • In reply to ToddFendt:

    Hi all, I did figure this out. Since the Job Server service calls the stdioprocessor.exe & stdioprocessor32.exe the config information has to go there instead of in the vinetworkservice confgi file. As the error stated from MS the calling program has to have the config file information. So I took the same section of config file and planted it in the stdio config files (32 and non 32). The upgrade erased the customizations from these files so it broke during my upgrade. Problem solved. Thanks for reading..