<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic .NET DLL XP = YES....WIN7 = NO in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759127#M51465</link>
    <description>&lt;P&gt;AutoCAD 2011&lt;BR /&gt;Visual Studio 2010&lt;BR /&gt;&lt;BR /&gt;A while back, we created an AutoCAD .NET DLL using VS 2010 and .NET Framework 4.0.&lt;BR /&gt;It ran fine on all the XP workstations.&lt;BR /&gt;&lt;BR /&gt;Now we upgraded to WIN7 Stations....and the .DLL wont run.&lt;BR /&gt;&lt;BR /&gt;Error message:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Unhandled exception has occurred in a component in your application. If you click Continue, the application will ignore this error and attempt to continue.&lt;/P&gt;&lt;P&gt;Retrieving the COM class factory for component with CLSID {88D969C0-F192-11D4-A65F-0040963251E5} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).....&lt;BR /&gt;&lt;BR /&gt;Blah Blah Blah.......&lt;BR /&gt;&lt;BR /&gt;Any suggestions on where to look first?....THX&lt;/P&gt;</description>
    <pubDate>Tue, 22 Jan 2013 19:55:18 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2013-01-22T19:55:18Z</dc:date>
    <item>
      <title>.NET DLL XP = YES....WIN7 = NO</title>
      <link>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759127#M51465</link>
      <description>&lt;P&gt;AutoCAD 2011&lt;BR /&gt;Visual Studio 2010&lt;BR /&gt;&lt;BR /&gt;A while back, we created an AutoCAD .NET DLL using VS 2010 and .NET Framework 4.0.&lt;BR /&gt;It ran fine on all the XP workstations.&lt;BR /&gt;&lt;BR /&gt;Now we upgraded to WIN7 Stations....and the .DLL wont run.&lt;BR /&gt;&lt;BR /&gt;Error message:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Unhandled exception has occurred in a component in your application. If you click Continue, the application will ignore this error and attempt to continue.&lt;/P&gt;&lt;P&gt;Retrieving the COM class factory for component with CLSID {88D969C0-F192-11D4-A65F-0040963251E5} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).....&lt;BR /&gt;&lt;BR /&gt;Blah Blah Blah.......&lt;BR /&gt;&lt;BR /&gt;Any suggestions on where to look first?....THX&lt;/P&gt;</description>
      <pubDate>Tue, 22 Jan 2013 19:55:18 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759127#M51465</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-01-22T19:55:18Z</dc:date>
    </item>
    <item>
      <title>Re: .NET DLL XP = YES....WIN7 = NO</title>
      <link>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759139#M51466</link>
      <description>&lt;P&gt;Some questions:&lt;/P&gt;
&lt;P&gt;1. Windows XP was 32-bits and Windows 7 is 64-bits?&lt;/P&gt;
&lt;P&gt;2. Are you using COM (for example, Autodesk.AutoCAD.Interop or Autodesk.AutoCAD.Interop.Common)?&lt;/P&gt;
&lt;P&gt;If answer is YES for both question then you can use appropriate version (64-bits) of COM-dll&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;P.S.: Also look like was not installed &lt;A href="http://www.microsoft.com/en-us/download/details.aspx?id=15697" target="_self"&gt;MSXML 4.0 Service Pack 3&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Jan 2013 20:21:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759139#M51466</guid>
      <dc:creator>Alexander.Rivilis</dc:creator>
      <dc:date>2013-01-22T20:21:30Z</dc:date>
    </item>
    <item>
      <title>Re: .NET DLL XP = YES....WIN7 = NO</title>
      <link>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759158#M51467</link>
      <description>&lt;P&gt;THX for the help....&lt;BR /&gt;&lt;BR /&gt;1. XP was 32 Bit...WIN7 is&amp;nbsp;64 Bit&lt;BR /&gt;2. Yes....COM was used&lt;BR /&gt;&lt;BR /&gt;So it sounds like I will need a 32 Bit (XP) version of the DLL, and a 64 Bit (WIN7) version of the .DLL&lt;BR /&gt;Seems like a PITA....&lt;BR /&gt;&lt;BR /&gt;Is there a way to Compile a DLL that will work for both?&lt;BR /&gt;I thought that was a "feature" of .NET?&lt;BR /&gt;&lt;BR /&gt;I guess I need to Open up the project, replace the References?...and re-compile???&lt;BR /&gt;Will this require some "recoding"?......I Supect so...&lt;/P&gt;</description>
      <pubDate>Tue, 22 Jan 2013 20:25:21 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759158#M51467</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-01-22T20:25:21Z</dc:date>
    </item>
    <item>
      <title>Re: .NET DLL XP = YES....WIN7 = NO</title>
      <link>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759224#M51468</link>
      <description>&lt;DIV align="center"&gt;&lt;HR size="3" /&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;EM&gt;jerry.bryant wrote:&lt;BR /&gt; Is there a way to Compile a DLL that will work for both?&lt;BR /&gt; &lt;/EM&gt;&lt;/P&gt;
&lt;DIV align="center"&gt;&lt;HR size="3" /&gt;&lt;/DIV&gt;
&lt;P&gt;If you are using 32-bits COM library the answer is No.&lt;/P&gt;
&lt;DIV align="center"&gt;&lt;HR size="3" /&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;EM&gt;jerry.bryant wrote:&lt;BR /&gt; I guess I need to Open up the project, replace the References?...and re-compile???&lt;BR /&gt; Will this require some "recoding"?......I Supect so...&lt;/EM&gt;&lt;/P&gt;
&lt;DIV align="center"&gt;&lt;HR size="3" /&gt;&lt;/DIV&gt;
&lt;P&gt;Also you have to change options &lt;STRONG&gt;Platform target&lt;/STRONG&gt; to &lt;STRONG&gt;x64&lt;/STRONG&gt;. If you using P/Invoke you have to check function signature and entry point.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Some useful links:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 class="entry-header"&gt;&lt;A href="http://adndevblog.typepad.com/autocad/2012/07/use-64-bit-activex-component-from-a-net-assembly.html" target="_self"&gt;Use 64 bit ActiveX component from a .NET assembly&lt;/A&gt;&lt;/H3&gt;
&lt;H3 class="entry-header"&gt;&lt;A href="http://adndevblog.typepad.com/autocad/2012/06/error-problem-in-loading-application-on-64-bit-os-when-using-getinterfaceobject.html" target="_self"&gt;Error "Problem in loading application" on 64 bit OS when using GetInterfaceObject&lt;/A&gt;&lt;/H3&gt;
&lt;H3 class="entry-header"&gt;&lt;A href="http://adndevblog.typepad.com/autocad/2012/06/where-did-my-interop-assemblies-go.html" target="_self"&gt;Where did my Interop assemblies go?&lt;/A&gt;&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Jan 2013 21:51:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759224#M51468</guid>
      <dc:creator>Alexander.Rivilis</dc:creator>
      <dc:date>2013-01-22T21:51:24Z</dc:date>
    </item>
    <item>
      <title>Re: .NET DLL XP = YES....WIN7 = NO</title>
      <link>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759379#M51469</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;@Anonymous wrote:&lt;BR /&gt;&lt;P&gt;Is there a way to Compile a DLL that will work for both?&lt;BR /&gt;I thought that was a "feature" of .NET?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Yes, that is a feature of .NET, provided that there is no dependence on native DLLs.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It is not a feature of ActiveX.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If the ActiveX control or server is native code, rather than managed .NET code, then it will require different builds for 32 and 64 bit platforms.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 23 Jan 2013 01:49:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759379#M51469</guid>
      <dc:creator>DiningPhilosopher</dc:creator>
      <dc:date>2013-01-23T01:49:03Z</dc:date>
    </item>
    <item>
      <title>Re: .NET DLL XP = YES....WIN7 = NO</title>
      <link>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759998#M51470</link>
      <description>&lt;P&gt;I thought I understood the recommendation here...but I guess I dont.&lt;BR /&gt;&lt;BR /&gt;So, how do you change the "build" to a 64 bit platform...&lt;/P&gt;</description>
      <pubDate>Wed, 23 Jan 2013 19:36:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3759998#M51470</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-01-23T19:36:31Z</dc:date>
    </item>
    <item>
      <title>Re: .NET DLL XP = YES....WIN7 = NO</title>
      <link>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3760492#M51471</link>
      <description>&lt;P&gt;Hi i have this issue when i work with PDFCREator. :&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;So i create a projet on VS2010 on Xp 32b --&amp;gt; the dll i use on xp 32 --&amp;gt; no prob but on seven 64b error. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;So for use my dll on the both 32/64b :&lt;BR /&gt;&lt;BR /&gt;in you projet :&lt;BR /&gt;1 - remove your COM.&lt;BR /&gt;2 - add the com and check is local is true.&lt;BR /&gt;3 - build you projet --&amp;gt; new file .ddl in you debug/release of you app.&lt;BR /&gt;4 - Rename this DDL with no . in the name.&lt;BR /&gt;5 - remove your com.&lt;BR /&gt;6 - add the com but not in the COM but Browse and select the file you have rename.&lt;BR /&gt;7 - build&lt;BR /&gt;&lt;BR /&gt;Now on you all machin you have to convert the com with a exe on you machine :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;here the main program you have to use :&lt;BR /&gt;on XP :&lt;BR /&gt;"C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\tlbimp.exe"&lt;BR /&gt;On Seven :&lt;BR /&gt;"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\tlbimp.exe"&lt;BR /&gt;&lt;BR /&gt;So : on DOS: the command you have to make :&lt;BR /&gt;tlpimp.exe "Path+Name of COM" /out:"Path+name of you DLL in you debug/release path"&lt;BR /&gt;&lt;BR /&gt;replace the first in "" with your COM &amp;nbsp;&lt;BR /&gt;replace the last in "" with your DLL.&lt;/P&gt;&lt;P&gt;Dont remove the ""&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;i have too created a function for this : (sorry mu native language is french. So use a translator)&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt; '*************************************************************************************
    '*** Fonction de Vérification des fichiers InterOp (ex : PDFCreator) *****************
    '*************************************************************************************
    '== Entrée :
    '==    NomProg  : Le nom du programme qui utilisera l'InterOp
    '==    NomApp   : Le nom + path de l'application à charger
    '==    NomDll   : Le nom du fichier (avec le .DLL) (qui doit exister à coté du prog)
    '
    '==    FichierDeBase32 : Le fichier qui doit générer la DLL. (Exe ou autre)
    '==    FichierDeBase64 : Le fichier qui doit générer la DLL. (Exe ou autre)
    '==    
    '==    
    '== Sortie
    '==    NomFichier : Le chemin complet + le nom.dll du programme compilé sinon retourne ""
    '==    
    '==    
    '*************************************************************************************
    Public Function VerifieInterOp(ByVal NomProg As String, _
                                   ByVal NomApp As String, _
                                   ByVal NomDll As String, _
                                   ByVal FichierDeBase32 As String, _
                                   ByVal FichierDeBase64 As String) As Boolean
        Dim OkRetour As Boolean = False


        Dim NomFichierInterOp As String = NomApp.Remove(NomApp.LastIndexOf(NomProg)) &amp;amp; NomDll


        If Not (IO.File.Exists(NomFichierInterOp)) Then

            Dim NomFichierTLPImp As String
            Dim NomFichierBaseDLL As String
            If IntPtr.Size &amp;gt; 4 Then
                '64 bits
                NomFichierTLPImp = "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\tlbimp.exe"
                NomFichierBaseDLL = FichierDeBase64
            Else
                '32bits
                NomFichierTLPImp = "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\tlbimp.exe"
                NomFichierBaseDLL = FichierDeBase32
            End If

            Dim RetourProcess As System.Diagnostics.Process

            Try
                MsgBox("Le programme va essayer de créer le lien avec le programme : " &amp;amp; vbCrLf &amp;amp; _
                       NomFichierBaseDLL &amp;amp; vbCrLf &amp;amp; _
                       "Une fenêtre va s'ouvrir et le programme va attendre sa fermeture.", _
                       vbOKOnly &amp;amp; vbCritical, "Information")

                Dim ParamTxt = """" &amp;amp; NomFichierBaseDLL &amp;amp; """" &amp;amp; " /out:" &amp;amp; """" &amp;amp; NomFichierInterOp &amp;amp; """"
                RetourProcess = Process.Start(NomFichierTLPImp, ParamTxt)
                Do While RetourProcess.HasExited = False
                    GestionAUTOCAD.EcrireSurLigneDeCommande(vbCrLf &amp;amp; "En attente du programme de lien...")
                Loop

                GestionAUTOCAD.EcrireSurLigneDeCommande(vbCrLf &amp;amp; "Fin du programme de lien, analyse du résultat.")
                If RetourProcess.ExitCode = 0 Then
                    'vérification si le fichier existe
                    If IO.File.Exists(NomFichierInterOp) = False Then
                        MsgBox("Le fichier " &amp;amp; NomFichierInterOp &amp;amp; " n'a pas été créé" &amp;amp; vbCrLf &amp;amp; _
                             "Contacter le responsable pour vérifier ce problème.", _
                                 vbOKOnly &amp;amp; vbCritical, "Erreur de Programmation")
                        GestionAUTOCAD.EcrireSurLigneDeCommande(vbCrLf &amp;amp; "Programme : " &amp;amp; NomFichierTLPImp)
                        GestionAUTOCAD.EcrireSurLigneDeCommande(vbCrLf &amp;amp; "Paramêtre : " &amp;amp; ParamTxt)
                        Return False
                    Else
                        Return True
                    End If
                End If
                Return False

            Catch ex As Exception
                MsgBox("Le programme de lien InterOP " &amp;amp; NomFichierTLPImp &amp;amp; "est introuvable." &amp;amp; vbCrLf &amp;amp; _
                       "Contacter le responsable pour vérifier le bon répertoire." &amp;amp; vbCrLf &amp;amp; vbCrLf &amp;amp; _
                              "", vbOKOnly &amp;amp; vbCritical, "Erreur de Programmation")
                Return False
            End Try
        Else
            Return True
        End If

    End Function&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;And this is for call this function for create the interop.DLL for PDFCREATOR.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;If VerifieInterOp("GestionFolio", Str, _
                                 "PdfCreator.dll",
                                 "C:\Program Files\PDFCreator\PDFCreator.exe", _
                                 "C:\Program Files (x86)\PDFCreator\PDFCreator.exe") = True Then
                Assembly.LoadFrom(Str)
                '--&amp;gt; Ajouter un espace à la fin de la commande
                Application.DocumentManager.MdiActiveDocument.SendStringToExecute(strCmd, True, False, True)
            Else
                MsgBox("Pour lancer le programme GestionFolio, il faut absolument" &amp;amp; vbCrLf &amp;amp; _
                       "installer PdfCreator dans le répertoire : " &amp;amp; vbCrLf &amp;amp; _
                       "C:\Program Files\PdfCreator\         (sous XP 32Bits / Seven 32Bits)" &amp;amp; vbCrLf &amp;amp; _
                       "C:\Program Files (x86)\PdfCreator\   (sous XP 64Bits / Seven 64Bits)", _
                       MsgBoxStyle.Information, "Erreur d'installation")
            End If&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;the var STR is the path + name of my application i have build with VS2010.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;GestionAUTOCAD.EcrireSurLigneDeCommande(...&lt;BR /&gt;is a sub for write on the console (replace ed. ....)&lt;BR /&gt;&lt;BR /&gt; &lt;/PRE&gt;&lt;P&gt;you have to put this code in another application if you use the COM on the init of you app.&lt;/P&gt;&lt;P&gt;Me i use before declare&amp;nbsp; the var&amp;nbsp; = new clsPDFCreator.Pdfcreator.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;You have to put the InterOpDLL with your Application in the same path.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think it is a best way for build a InterOp valid on 62 / 64 b.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;with this i dont have you error.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Only tested with PDFCREATOR.&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jan 2013 12:33:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3760492#M51471</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-01-24T12:33:03Z</dc:date>
    </item>
    <item>
      <title>Re: .NET DLL XP = YES....WIN7 = NO</title>
      <link>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3763161#M51472</link>
      <description>&lt;P&gt;OK..I got it working....&lt;BR /&gt;&lt;BR /&gt;Had to remove the COM XML reference and replace with the .NET System.Xml...&lt;BR /&gt;Then was able to figure out the 1000 changes to the code....the "GUI Suggestions" worked in most cases...the others I just luckily guessed right......"InnerXml" was the key change....&lt;BR /&gt;&lt;BR /&gt;Thanks for all the suggestions...&lt;/P&gt;</description>
      <pubDate>Mon, 28 Jan 2013 14:23:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/net-dll-xp-yes-win7-no/m-p/3763161#M51472</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-01-28T14:23:14Z</dc:date>
    </item>
  </channel>
</rss>

