2010-01-29 12 views
5

जिस परियोजना पर मैं काम कर रहा हूं वह VS2008 परिनियोजन/इंस्टॉलर का उपयोग WiX से करने से स्विच कर रहा है, जिसे मैं वर्तमान में बहुत नया हूं। मैंने संसाधन प्रोजेक्ट के आउटपुट को संसाधन.dll में कॉपी करने के लिए कोड जोड़ा है, लेकिन पुराने VS2008 इंस्टॉलर फ़ाइल सिस्टम में स्थानीयकृत संसाधन आउटपुट भी है जो वर्तमान में दो फ़ोल्ड (एन और एस) को एक और डीएल के साथ बनाता है (Resources.resources.dll) प्रत्येक भाषा के लिए। मेरे पास थोड़ी सी खोज थी, लेकिन इन फ़ोल्डर्स को एमएसआई में वास्तव में यह जानने के लिए प्रतीत नहीं होता कि वास्तव में यह फ़ोल्डर्स मौजूद हैं और उन्हें सीधे अंदर डाल रहा है। ऐसा करने का सबसे अच्छा तरीका क्या है?मैं वाईएक्स के साथ निर्मित एमएसआई में सैटेलाइट असेंबली (लोकलाइज्ड रिसोर्सेज) कैसे शामिल करूं?

उत्तर

6

स्थानीयकरण फ़ोल्डरों (एन और एस) के लिए अपने विकिक्स स्रोत में <Directory> तत्वों को परिभाषित करें, फिर अपने उपग्रह असेंबली के लिए <Component> तत्वों को परिभाषित करें।

संक्षेप में, उन्हें सीधे अंदर रखें!

+0

+1 टिप के लिए धन्यवाद! मैंने आपके उत्तर को चित्रित करने के लिए एक नया उत्तर बनाया है। –

5

यहां 2 भाषाओं के लिए मेरे लिए क्या काम किया गया है।

मैं, जैसा कि नीचे देखा localeDirectoryFR और localeDirectoryJA जोड़ा के लिए फ्रेंच और जापानी: पॉल लालोंडे को टिप के लिए

<Feature Id='CmisSyncFeature' Title='CmisSync' Description='CmisSync' Level='1' AllowAdvertise='no'> 
    <ComponentRef Id="CmisSync.exe" /> 
    [... other componentrefs ...] 
    <ComponentRef Id="localeComponentFR" /> 
    <ComponentRef Id="localeComponentJA" /> 
</Feature> 

धन्यवाद:

<Directory Id='TARGETDIR' Name='SourceDir'> 
    <Directory Id='ProgramFilesFolder' Name='PFiles'> 
     <Directory Id='INSTALLDIR' Name='CmisSync'> 
     <Component Id='CmisSync.exe' Guid='bab5a922-b5c4-4958-ab79-5e303b767a61'> 
      <File Id='CmisSync.exe' Name='CmisSync.exe' Source='!(wix.root)\bin\CmisSync.exe' KeyPath='yes' DiskId='1' /> 
     </Component> 
     [... other components ...] 
     <Directory Id='localeDirectoryFR' Name='fr'> 
      <Component Id='localeComponentFR' Guid='01612d5d-6c9d-46e9-96c5-7105bbbea7db'> 
      <CreateFolder /> 
      <File Id='localeFileFR' Name='CmisSync.resources.dll' Source='!(wix.root)\bin\fr\CmisSync.resources.dll' DiskId='1' /> 
      </Component> 
     </Directory> 
     <Directory Id='localeDirectoryJA' Name='ja'> 
      <Component Id='localeComponentJA' Guid='8d77c457-54b0-41d6-9f1c-c91338b25505'> 
      <CreateFolder /> 
      <File Id='localeFileJA' Name='CmisSync.resources.dll' Source='!(wix.root)\bin\ja\CmisSync.resources.dll' DiskId='1' /> 
      </Component> 
     </Directory> 

तब मैं उन्हें सुविधा में संदर्भित किया है।