Can't install a modified assembly in Global Assembly Cache





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















Using dnSpy assembly editor I modified a copyrighted IBM assembly (DLL). I fixed a bug in the source code. After compiling the code back to a DLL, I tried to install it into the GAC.



But during this, InstallAssembly threw the following error:



InstallAssembly failed with error -2146234299


Anyone knows what this means? Thanks for any help!



EDIT



On docs.microsoft.com I can see that -2146234299 means FusionErrorSignatureCheckFailed. So it is not possible for me to modify the DLL?










share|improve this question































    0















    Using dnSpy assembly editor I modified a copyrighted IBM assembly (DLL). I fixed a bug in the source code. After compiling the code back to a DLL, I tried to install it into the GAC.



    But during this, InstallAssembly threw the following error:



    InstallAssembly failed with error -2146234299


    Anyone knows what this means? Thanks for any help!



    EDIT



    On docs.microsoft.com I can see that -2146234299 means FusionErrorSignatureCheckFailed. So it is not possible for me to modify the DLL?










    share|improve this question



























      0












      0








      0








      Using dnSpy assembly editor I modified a copyrighted IBM assembly (DLL). I fixed a bug in the source code. After compiling the code back to a DLL, I tried to install it into the GAC.



      But during this, InstallAssembly threw the following error:



      InstallAssembly failed with error -2146234299


      Anyone knows what this means? Thanks for any help!



      EDIT



      On docs.microsoft.com I can see that -2146234299 means FusionErrorSignatureCheckFailed. So it is not possible for me to modify the DLL?










      share|improve this question
















      Using dnSpy assembly editor I modified a copyrighted IBM assembly (DLL). I fixed a bug in the source code. After compiling the code back to a DLL, I tried to install it into the GAC.



      But during this, InstallAssembly threw the following error:



      InstallAssembly failed with error -2146234299


      Anyone knows what this means? Thanks for any help!



      EDIT



      On docs.microsoft.com I can see that -2146234299 means FusionErrorSignatureCheckFailed. So it is not possible for me to modify the DLL?







      .net-assembly dnspy






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 5 at 12:34







      Ozkan

















      asked Jan 4 at 9:06









      OzkanOzkan

      1,79742450




      1,79742450
























          2 Answers
          2






          active

          oldest

          votes


















          2














          I'm very glad you're not able to do this 🤓. This is exactly what's intended:




          Assemblies deployed in the Global Assembly Cache must have a strong name. When an assembly is added to the Global Assembly Cache, integrity checks are performed on all files that make up the assembly. The cache performs these integrity checks to ensure that an assembly has not been tampered with, for example, when a file has changed but the manifest does not reflect the change.




          Source: Global Assembly Cache






          share|improve this answer
























          • Do you know any workaround for this? (except raising a ticket at IBM). Like for example, editing on IL level? I know this is more 'hacking' but I just want to know if there is a way, because I found the bug in the IBM code and I'm really close to fix this...

            – Ozkan
            Jan 4 at 9:46






          • 1





            What you can do is write a wrapper for the IBM assembly you can use from your own code. This doesn't allow you to edit the IBM assembly, it does enable you to modify the resulting behavior. Changing the IBM assembly that's installed in the GAC is not an option.

            – rickvdbosch
            Jan 4 at 9:48



















          0














          If you modify an assembly, its signature will no longer be valid.



          You would have to create a new signature for it, but you won't be able to do that because you don't have access to the private key that IBM used when they created the original signature.



          So I'm afraid you're out of luck.






          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54035849%2fcant-install-a-modified-assembly-in-global-assembly-cache%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            I'm very glad you're not able to do this 🤓. This is exactly what's intended:




            Assemblies deployed in the Global Assembly Cache must have a strong name. When an assembly is added to the Global Assembly Cache, integrity checks are performed on all files that make up the assembly. The cache performs these integrity checks to ensure that an assembly has not been tampered with, for example, when a file has changed but the manifest does not reflect the change.




            Source: Global Assembly Cache






            share|improve this answer
























            • Do you know any workaround for this? (except raising a ticket at IBM). Like for example, editing on IL level? I know this is more 'hacking' but I just want to know if there is a way, because I found the bug in the IBM code and I'm really close to fix this...

              – Ozkan
              Jan 4 at 9:46






            • 1





              What you can do is write a wrapper for the IBM assembly you can use from your own code. This doesn't allow you to edit the IBM assembly, it does enable you to modify the resulting behavior. Changing the IBM assembly that's installed in the GAC is not an option.

              – rickvdbosch
              Jan 4 at 9:48
















            2














            I'm very glad you're not able to do this 🤓. This is exactly what's intended:




            Assemblies deployed in the Global Assembly Cache must have a strong name. When an assembly is added to the Global Assembly Cache, integrity checks are performed on all files that make up the assembly. The cache performs these integrity checks to ensure that an assembly has not been tampered with, for example, when a file has changed but the manifest does not reflect the change.




            Source: Global Assembly Cache






            share|improve this answer
























            • Do you know any workaround for this? (except raising a ticket at IBM). Like for example, editing on IL level? I know this is more 'hacking' but I just want to know if there is a way, because I found the bug in the IBM code and I'm really close to fix this...

              – Ozkan
              Jan 4 at 9:46






            • 1





              What you can do is write a wrapper for the IBM assembly you can use from your own code. This doesn't allow you to edit the IBM assembly, it does enable you to modify the resulting behavior. Changing the IBM assembly that's installed in the GAC is not an option.

              – rickvdbosch
              Jan 4 at 9:48














            2












            2








            2







            I'm very glad you're not able to do this 🤓. This is exactly what's intended:




            Assemblies deployed in the Global Assembly Cache must have a strong name. When an assembly is added to the Global Assembly Cache, integrity checks are performed on all files that make up the assembly. The cache performs these integrity checks to ensure that an assembly has not been tampered with, for example, when a file has changed but the manifest does not reflect the change.




            Source: Global Assembly Cache






            share|improve this answer













            I'm very glad you're not able to do this 🤓. This is exactly what's intended:




            Assemblies deployed in the Global Assembly Cache must have a strong name. When an assembly is added to the Global Assembly Cache, integrity checks are performed on all files that make up the assembly. The cache performs these integrity checks to ensure that an assembly has not been tampered with, for example, when a file has changed but the manifest does not reflect the change.




            Source: Global Assembly Cache







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jan 4 at 9:31









            rickvdboschrickvdbosch

            4,37121727




            4,37121727













            • Do you know any workaround for this? (except raising a ticket at IBM). Like for example, editing on IL level? I know this is more 'hacking' but I just want to know if there is a way, because I found the bug in the IBM code and I'm really close to fix this...

              – Ozkan
              Jan 4 at 9:46






            • 1





              What you can do is write a wrapper for the IBM assembly you can use from your own code. This doesn't allow you to edit the IBM assembly, it does enable you to modify the resulting behavior. Changing the IBM assembly that's installed in the GAC is not an option.

              – rickvdbosch
              Jan 4 at 9:48



















            • Do you know any workaround for this? (except raising a ticket at IBM). Like for example, editing on IL level? I know this is more 'hacking' but I just want to know if there is a way, because I found the bug in the IBM code and I'm really close to fix this...

              – Ozkan
              Jan 4 at 9:46






            • 1





              What you can do is write a wrapper for the IBM assembly you can use from your own code. This doesn't allow you to edit the IBM assembly, it does enable you to modify the resulting behavior. Changing the IBM assembly that's installed in the GAC is not an option.

              – rickvdbosch
              Jan 4 at 9:48

















            Do you know any workaround for this? (except raising a ticket at IBM). Like for example, editing on IL level? I know this is more 'hacking' but I just want to know if there is a way, because I found the bug in the IBM code and I'm really close to fix this...

            – Ozkan
            Jan 4 at 9:46





            Do you know any workaround for this? (except raising a ticket at IBM). Like for example, editing on IL level? I know this is more 'hacking' but I just want to know if there is a way, because I found the bug in the IBM code and I'm really close to fix this...

            – Ozkan
            Jan 4 at 9:46




            1




            1





            What you can do is write a wrapper for the IBM assembly you can use from your own code. This doesn't allow you to edit the IBM assembly, it does enable you to modify the resulting behavior. Changing the IBM assembly that's installed in the GAC is not an option.

            – rickvdbosch
            Jan 4 at 9:48





            What you can do is write a wrapper for the IBM assembly you can use from your own code. This doesn't allow you to edit the IBM assembly, it does enable you to modify the resulting behavior. Changing the IBM assembly that's installed in the GAC is not an option.

            – rickvdbosch
            Jan 4 at 9:48













            0














            If you modify an assembly, its signature will no longer be valid.



            You would have to create a new signature for it, but you won't be able to do that because you don't have access to the private key that IBM used when they created the original signature.



            So I'm afraid you're out of luck.






            share|improve this answer




























              0














              If you modify an assembly, its signature will no longer be valid.



              You would have to create a new signature for it, but you won't be able to do that because you don't have access to the private key that IBM used when they created the original signature.



              So I'm afraid you're out of luck.






              share|improve this answer


























                0












                0








                0







                If you modify an assembly, its signature will no longer be valid.



                You would have to create a new signature for it, but you won't be able to do that because you don't have access to the private key that IBM used when they created the original signature.



                So I'm afraid you're out of luck.






                share|improve this answer













                If you modify an assembly, its signature will no longer be valid.



                You would have to create a new signature for it, but you won't be able to do that because you don't have access to the private key that IBM used when they created the original signature.



                So I'm afraid you're out of luck.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 4 at 9:17









                mbjmbj

                653314




                653314






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54035849%2fcant-install-a-modified-assembly-in-global-assembly-cache%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Mossoró

                    Error while reading .h5 file using the rhdf5 package in R

                    Pushsharp Apns notification error: 'InvalidToken'