<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div apple-content-edited="true"><div style="color: rgb(0, 0, 0); font-family: Helvetica;  font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="color: rgb(0, 0, 0); font-family: Helvetica;  font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="color: rgb(0, 0, 0); font-family: Helvetica;  font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="font-weight: normal; ">On 2014-04-06, at 06:36 AM, Denis Shienkov <<a href="mailto:denis.shienkov@gmail.com">denis.shienkov@gmail.com</a>> wrote:</div></div></span></div></span></div></div></div></div><div><br class="Apple-interchange-newline"><blockquote type="cite">
  

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  
  <div text="#000000" bgcolor="#FFFFFF">
    Hi all.<br>
    <br>
    Seems, it is a common question that related not only to the WiX
    module.<br>
    <br>
    For example, I want to create an MSI installer for the MyProject.
    So, for me is need to define a list of all used Runtime Libs..<br>
    <br>
    1) In principle, I would try to receive the list of full paths of
    used Qt of libraries, e.g. through:<br>
    <br>
    ...<br>
    <span style=" color:#c0c0c0;"> </span>Depends<span style="
      color:#c0c0c0;"> </span>{<span style=" color:#c0c0c0;"> </span><span style=" color:#800000;">name</span>:<span style=" color:#c0c0c0;">
    </span><span style=" color:#008000;">"Qt"</span>;<span style="
      color:#c0c0c0;"> </span><span style=" color:#800000;">submodules</span>:<span style=" color:#c0c0c0;"> </span>[<span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">"core"</span>,<span style="
      color:#c0c0c0;"> </span><span style=" color:#008000;">"network"</span>,<span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">"gui"</span>,<span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">"widgets"</span><span style=" color:#c0c0c0;"> </span>]<span style=" color:#c0c0c0;"> </span>}<br>
    ...<br>
    <br>
    but I do not know, how it do? Besides need to filter Debug and
    Release of the version of Qt libraries, depends on used current
    build profile.<br>
    <br>
    2) How to be with additional Qt modules, like:
    /plugins/platforms/qminimal.dll,qwindows.dll? Or with the ICU, GLES,
    EGL, and others? Also with division on the Debug and Release
    versions...<br></div></blockquote><div><br></div><div>Really no good way to do this at the moment. As I mentioned earlier, packaging is not really supported by Qbs yet, but when it is perhaps the best option might be to add a rule to run windeployqt prior to building your MSI (obviously this would require Qt 5.3). I've been focusing on the Mac version of my app so I'm not sure if this is still working, but you could perhaps start with something like this to get the Qt DLLs and plugins copied. Warning, it's not pretty.</div><div><br></div><div><a href="http://paste.kde.org/pbzbyqeby">http://paste.kde.org/pbzbyqeby</a></div><div><a href="http://paste.kde.org/plqifyr7h">http://paste.kde.org/plqifyr7h</a></div><br><blockquote type="cite"><div text="#000000" bgcolor="#FFFFFF">
    3) How to be with MSVC runtime libraries? I would try to receive the
    list of full paths , e.g. through toolchain module or something
    else? but I do not know, how it do?<br></div></blockquote><div><br></div><div>Don't try to retrieve the path to the MSVC runtime libraries. Instead, include the runtime merge module in your MSI as suggested by the WiX documentation. For example, add to your <Directory Id="TARGETDIR" ...> the following:</div><div><br></div><div><pre style="font-family: 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, monospace; line-height: 1.4000000000000001; margin-top: 0px; margin-bottom: 0px; padding: 0px; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255);"><span class="nt" style="color: rgb(0, 0, 128);"><Merge</span> <span class="na" style="color: rgb(0, 128, 128);">Id=</span><span class="s" style="color: rgb(187, 136, 68);">"VCRedist"</span> <span class="na" style="color: rgb(0, 128, 128);">SourceFile=</span><span class="s" style="color: rgb(187, 136, 68);">"$(env.CommonProgramFiles(x86))\Merge Modules\Microsoft_VC110_CRT_$(var.Platform).msm"</span> <span class="na" style="color: rgb(0, 128, 128);">DiskId=</span><span class="s" style="color: rgb(187, 136, 68);">"1"</span> <span class="na" style="color: rgb(0, 128, 128);">Language=</span><span class="s" style="color: rgb(187, 136, 68);">"0"</span> <span class="nt" style="color: rgb(0, 0, 128);">/></span></pre><div><br></div><div>$(var.Platform) is automatically set by Qbs to the architecture (x86, x64, ia64) you're building for, so you needn't worry about that part. You'll just need to change the '110' to whatever version of MSVC you're using, i.e. 100 for MSVC 2010, 110 for MSVC 2012, etc. Now that I think of it, it would be a fantastic idea to set a variable in Qbs for the MSVC version. Patch coming... (and I should document these too)</div></div><br><blockquote type="cite"><div text="#000000" bgcolor="#FFFFFF">
    Can someone provide a simple code snippets for this?<br>
    <br>
    Best regards,<br>
    Denis<br>
    <br>
     <br>
  </div>

_______________________________________________<br>QBS mailing list<br><a href="mailto:QBS@qt-project.org">QBS@qt-project.org</a><br>http://lists.qt-project.org/mailman/listinfo/qbs<br></blockquote></div><div><br></div><div><div style="orphans: 2; widows: 2;">-- </div><div style="orphans: 2; widows: 2;"><b>Jake Petroules</b></div><div style="orphans: 2; widows: 2;">Chief Technology Officer</div><div style="orphans: 2; widows: 2;">Petroules Corporation · <a href="http://www.petroules.com">www.petroules.com</a></div><div style="orphans: 2; widows: 2;">Email: <a href="mailto:jake.petroules@petroules.com">jake.petroules@petroules.com</a></div></div></body></html>