Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: szLibXL installation strategy

  1. #1
    Join Date
    Feb 2009
    Posts
    719

    Default szLibXL installation strategy

    the szLibXL wrapper must be registered using REGASM which as far as I understand means that you must have administator right on the computer and it must be done on every computer on the network that use the Dataflex program.

    As I work very close with my customers and make new versions all the time, this is a problem for me. If LibXL is used in the DF application, the program give error messages even if not the LIbXL parts are used. I have started to solve this by putting the parts using LibXL in a separate program and executing Runprogram Wait from the main program when these parts are used, but that is a complicated way of dong it.

    Is there a better way or is it just to accept that no program update can be made until sZLibXL is registed on all machines.

    Bengt

  2. #2
    Join Date
    Feb 2009
    Location
    South Florida
    Posts
    3,464

    Default Re: szLibXL installation strategy

    Quote Originally Posted by Bengt View Post
    the szLibXL wrapper must be registered using REGASM which as far as I understand means that you must have administator right on the computer and it must be done on every computer on the network that use the Dataflex program.

    As I work very close with my customers and make new versions all the time, this is a problem for me. If LibXL is used in the DF application, the program give error messages even if not the LIbXL parts are used. I have started to solve this by putting the parts using LibXL in a separate program and executing Runprogram Wait from the main program when these parts are used, but that is a complicated way of dong it.

    Is there a better way or is it just to accept that no program update can be made until sZLibXL is registed on all machines.

    Bengt
    Bengt

    if it isnt used it doesnt throw any errors

    i actually played around with getting the side by side registration to work and i think i was successful but didnt have time to work on it any longer. With sxs registration will not be needed of course
    Michael Salzlechner
    StarZen Technologies, Inc
    http.://www.starzen.com

    Development Blog
    http://www.salzlechner.com/dev

    DataFlex Package Manager (aka Nuget for DataFlex)
    http://windowsdeveloper.com/dfPackage

  3. #3
    Join Date
    Feb 2009
    Location
    South Florida
    Posts
    3,464

    Default Re: szLibXL installation strategy

    Good News

    i finally had some time to play with the side by side registration and have this now working

    So now you have the choice of either registering the com component using regasm or using a side by side manifest.

    This will make installations a lot easier not requiring to register the component on a client machine
    Michael Salzlechner
    StarZen Technologies, Inc
    http.://www.starzen.com

    Development Blog
    http://www.salzlechner.com/dev

    DataFlex Package Manager (aka Nuget for DataFlex)
    http://windowsdeveloper.com/dfPackage

  4. #4
    Join Date
    Feb 2009
    Location
    Goteborg, Sweden
    Posts
    2,848

    Default Re: szLibXL installation strategy

    Well done Michael.

    Now that it also have a side-by-side manifest - do you care to share it so it can be added to the Manifest Studio's global repository at VDF-Guidance?

    You would just email me the side-by-side info as text and I can make the upload to the repository.
    Nils Svedmyr
    RDC Tools International
    www.rdctools.com

    "Humor is reason gone mad"
    Groucho Marx

  5. #5
    Join Date
    Feb 2009
    Location
    South Florida
    Posts
    3,464

    Default Re: szLibXL installation strategy

    yes of course.

    i am just having someone test it to make sure it works not just on my dev pc.

    once i have confirmation it works i will send you the files

    then i will make these for all our libraries of course
    Michael Salzlechner
    StarZen Technologies, Inc
    http.://www.starzen.com

    Development Blog
    http://www.salzlechner.com/dev

    DataFlex Package Manager (aka Nuget for DataFlex)
    http://windowsdeveloper.com/dfPackage

  6. #6
    Join Date
    Feb 2009
    Location
    Goteborg, Sweden
    Posts
    2,848

    Default Re: szLibXL installation strategy

    Sounds good.
    Nils Svedmyr
    RDC Tools International
    www.rdctools.com

    "Humor is reason gone mad"
    Groucho Marx

  7. #7
    Join Date
    Feb 2014
    Location
    Geneseo, IL
    Posts
    75

    Default Re: szLibXL installation strategy

    Has the usage of .Net assemblies using the .Manifest been tested? If so, how do we do it?

    We're in the same boat as Bengt. We want to start using szLibXL (and possible some other .Net DLLs) and would prefer to be able to use a Manifest file rather than having to setup RegASM scripts...

    And thanks again for your LibXL wrapper library, StarZen! It made my life SOOO much easier trying to add some Excel importing...
    Mark

    "If it ain't broke, you're not trying." - Red Green

  8. #8
    Join Date
    Feb 2009
    Location
    South Florida
    Posts
    3,464

    Default Re: szLibXL installation strategy

    Mark

    yes we have tested the manifest file for szLibXL and it is working fine

    i have to check i know i emailed a copy to Bengt but not sure if i ever uploaded it
    Michael Salzlechner
    StarZen Technologies, Inc
    http.://www.starzen.com

    Development Blog
    http://www.salzlechner.com/dev

    DataFlex Package Manager (aka Nuget for DataFlex)
    http://windowsdeveloper.com/dfPackage

  9. #9
    Join Date
    Feb 2014
    Location
    Geneseo, IL
    Posts
    75

    Default Re: szLibXL installation strategy

    If you would upload that, it would be greatly appreciated. Thanks!
    Mark

    "If it ain't broke, you're not trying." - Red Green

  10. #10
    Join Date
    Feb 2014
    Location
    Geneseo, IL
    Posts
    75

    Default Re: szLibXL installation strategy

    OK, I think I figured it out. I was missing a couple things:


    1. I needed to have szLibXL.manifest in my Programs directory
    2. That manifest needed to have the assembly version updated from 1.0.0.0 to 1.1.0.0 to match the DLL


    After that, I had to update my DF-generated Manifest. It changed from this (where ***PROJECT NAME*** is the actual name of my Project.src):

    Code:
    <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
        <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="DAW.DataFlex.***PROJECT NAME***.src" type="win32"></assemblyIdentity>
        <description>***PROJECT NAME***.src</description>
        <dependency>
            <dependentAssembly>
                <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
            </dependentAssembly>
        </dependency>
        <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
            <v3:security>
                <v3:requestedPrivileges>
                    <v3:requestedExecutionLevel level="asInvoker"></v3:requestedExecutionLevel>
                </v3:requestedPrivileges>
            </v3:security>
        </v3:trustInfo>
        <v3:application xmlns:v3="urn:schemas-microsoft-com:asm.v3">
            <v3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
                <dpiAware>True</dpiAware>
            </v3:windowsSettings>
        </v3:application>
    </assembly>
    to this:

    Code:
    <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
        <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="DAW.DataFlex.***PROJECT NAME***.src" type="win32"></assemblyIdentity>
        <description>***PROJECT NAME***.src</description>
        <dependency>
            <dependentAssembly>
                <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
            </dependentAssembly>
        </dependency>
        <dependency>
            <dependentAssembly>
                <assemblyIdentity processorArchitecture="msil" name="szLibXL" version="1.1.0.0"/>
            </dependentAssembly>
        </dependency>
        <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
            <v3:security>
                <v3:requestedPrivileges>
                    <v3:requestedExecutionLevel level="asInvoker"></v3:requestedExecutionLevel>
                </v3:requestedPrivileges>
            </v3:security>
        </v3:trustInfo>
        <v3:application xmlns:v3="urn:schemas-microsoft-com:asm.v3">
            <v3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
                <dpiAware>True</dpiAware>
            </v3:windowsSettings>
        </v3:application>
    </assembly>
    The difference is that I added this little block after the default one for Common Controls:

    Code:
    ...
        <dependency>
            <dependentAssembly>
                <assemblyIdentity processorArchitecture="msil" name="szLibXL" version="1.1.0.0"/>
            </dependentAssembly>
        </dependency>
    ...
    Does that match what you did?
    Mark

    "If it ain't broke, you're not trying." - Red Green

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •