I am creating a Wix 3.0 installer for a product and have come against a number
of issues (migrating from InstallShield). I had a general look around but
cant find the answers so im hoping someone can help me:
1) The doc tells me that I should have one component per file and I want
to have all installation files in a single feature but then I get a warning
(LGHT1076 : ICE47) that I should try and have fewer than 817 components in a
feature. Why is this a bad idea?
2) I wish to create a folder structure in the start menu using the
following folder structure on installation and use the statements below to do
it:
ProgramMenuFolder\Vendor\ApplicationName
ProgramMenuFolder\Vendor\ApplicationName\Advanced
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="StartMenuVendor" Name="VendorName">
<Directory Id="StartMenuAppName" Name="AppName">
<Component Id="StartMenuEntries" Guid="...">
<CreateFolder Directory="StartMenuXanalys" />
<RemoveFolder Id='StartMenuAppName' On='uninstall' />
<RemoveFolder Id='StartMenuAppAdvanced' On='uninstall'/>
<RemoveFolder Id='StartMenuVendor' On='uninstall'
Directory='StartMenuVendor'/>
<RegistryValue Root='HKCU'
Key='Software\[Manufacturer]\[ProductName]' Type='string' Value=''
KeyPath='yes' />
</Component>
<Directory Id=" StartMenuAppAdvanced" Name="Advanced">
<Component Id=" StartMenuAppAdvanced" Guid="..." >
<CreateFolder/>
<RemoveFolder Id= StartMenuAppAdvanced On='uninstall'/>
</Component>
</Directory>
<Directory Id="StartMenuAppAdvanced" Name="Advanced" />
</Directory>
</Directory>
</Directory>
I find that the VendorName folder is not created on install and
I get a compile error for the Advanced folder (presumably because it has no
file elements?). Can someone tell me why the former error occurs and is there a
way to force creation of a (potentially empty) folder.
3) Third issue is related to COM server registration. I have a out of
process COM server implemented in a exe (e.g. app.exe) file with an external
type library (e.g. app.tlb). I want this to be registered during install and
unregistered during uninstall (the equivalent of app.exe /RegServer and
app.exe /UnRegServer). I thought I could simply do this:
</Component ...>
<File Id="filA7723DE8CBBF678AC3819B61A67C4CD5" KeyPath="yes" Source="app.exe">
<TypeLib Id="86B995C7-EC9C-11D4-BEEA-000347024BE1"
Description="Application Object Library" Language="0" MajorVersion="1"
MinorVersion="0" />
</File>
</Component>
Where the typelib line is extracted by harvesting the entries of app.tlb using
heat (and just taking the first line). This doesnt seem to work.
Thanks
sanjay
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users