Home Help Center

Creating installer for use in another PC

Cal30Cal30 Member Carlos CalatayudOrganization: Universidad Castilla-La ManchaProject: Surveillance Communications
Hi,

I've finished my project and I need to execute it in a PC without Ice installed, it should run attaching the ice dll's. I create an VS2010 Installer Project. In 2 PC's which has ICE installed it works well but when I tried to run it in a PC which doesn't have it installed, it doesn't work. I have installed VS2010 in that PC and debug it, and seems it crash at msvcr100.dll, but it is placed in the application folder.

Any idea? Thanks !

Comments

  • xdmxdm La Coruña, SpainAdministrators, ZeroC Staff Jose Gutierrez de la ConchaOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
    Hi Carlos,

    Can you post an stack trace of the crash? What operating system are you using? What is your program doing when it crash?

    Regards,
    Jose
  • Cal30Cal30 Member Carlos CalatayudOrganization: Universidad Castilla-La ManchaProject: Surveillance Communications
    I'm running both in Windows 7 with ICE 3.4.2 installed and it runs. When I try to run it in another Windows 7 PC without ICE installed it just stops "Main stops running ...".

    The machine where I developed the application is 64-bits and I set the path to "...\vc100\x64" and "...\vc100" and I copied all of the .dll's to the application folder. In the other one which has ICE installed (32-bits) I set the path just ".../bin" and it runs quite well.

    But when I tried to run it in a PC without ICE installed, doesn't run :(
  • xdmxdm La Coruña, SpainAdministrators, ZeroC Staff Jose Gutierrez de la ConchaOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
    Hi Carlos,

    If you suspect is a dependency issue, you can use dependency walker to find if there is a missing dependency.
    seems it crash at msvcr100.dll, but it is placed in the application folder.
    Can you get a stack trace of the crash, without a stack trace, or see the actual code, is hard to guess.

    What configuration are you building when that fails , Win32 Release or Win64 Release?
  • Cal30Cal30 Member Carlos CalatayudOrganization: Universidad Castilla-La ManchaProject: Surveillance Communications
    I'm building Win32 release.

    It seems it's a problem from Ice, because it enforces to select Runtime Library as /MD, not linking the DLL's statically. How could I change to /MT?
  • xdmxdm La Coruña, SpainAdministrators, ZeroC Staff Jose Gutierrez de la ConchaOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
    Ice doesn't support static linking you should use /MD or /MDd for Release and Debug builds respectively and copy ice34.dll and iceutil34.dll in your program directory, if your application depends on additional Ice services, copy the corresponding libraries too.

    If you need to static link Ice into your program you should use IceE instead of Ice.

    See:
    Also note that for msvcr100.dll, you can use Microsoft merge modules in your installer, that avoid to copy the mentioned library to the application directory, and do a system install if the library isn't present, but that requires your installer to run with administrative privileges.

    See: Redistributing By Using Merge Modules
Sign In or Register to comment.