Je suis totalement nouveau pour WiX, alors bien sûr, ma première tâche avec WiX est de migrer un grand programme d'installation existant de WiX 2 vers WiX 3. J'ai eu un certain nombre de les rides dont la plupart ont été triées, mais je serais reconnaissant pour certaines suggestions avec les erreurs de lumière suivantes. Depuis que je suis nouveau à Wix, je veux énumérer mon processus:Migration de Wix 2 vers Wix 3: symboles en double
Pour créer une bibliothèque Wix:
candle.exe *.wxs
lit.exe -out "wixui_company.wixlib" *.wixobj
Pour générer le principal MSI:
candle.exe main.wxs -o main.wixobj
light.exe main.wixobj -o Main_Installer.msi wixui_company.wixlib -ext WixUIExtension
Cette dernière commande donne des dizaines et des dizaines d'erreurs, mais ils prennent toute la forme suivante
error LGHT0091 : Duplicate symbol 'Dialog:LicenseAgreementDlg' found.
Je grep et re-greped, mais la que les références sont les suivantes:
En LicenseAgreementDlg.wxs:
<Fragment>
<UI>
<Dialog Id="LicenseAgreementDlg" ...
Et wixui_company.wxs
<Fragment>
<UI Id="WixUI">
<DialogRef Id="LicenseAgreementDlg" />
...
<Property Id="WixUI_WelcomeDlg_Next" Value="LicenseAgreementDlg" />
Il est la ligne de DialogRef qui donne l'erreur.
Ces deux Référencez de wixui_company.wixlib dans les main.wxs:
<UIRef Id="WixUI" />
FWIW, si je change soit l'arbitre pour WixUI ou l'arbitre pour LicenseAgreementDlg, les erreurs en double disparaissent, mais je reçois symbole non trouvé erreur de lien. J'ai migré les fichiers wxs d'origine en utilisant WixCop, mais sous WiX 2, ils ont tous fonctionné tel quel. Je devine que cela a à voir avec le mouvement de mettre WiXUI dans son propre espace de nom dans WiX 3, mais franchement, je n'ai aucune idée de quoi essayer.
Des idées sur les endroits où les choses se sont mal passées?
Merci,
Adam
Bonjour, je suis toujours à la recherche d'aide. Des idées? – user1751585
Utilisez-vous une interface WiX standard? Si oui lequel? – Neil