Archived

This forum has been archived. Please start a new discussion on GitHub.

Creating installer for use in another PC

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

  • xdm
    xdm La Coruña, Spain
    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
  • 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 :(
  • xdm
    xdm La Coruña, Spain
    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?
  • 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?
  • xdm
    xdm La Coruña, Spain
    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