2012-06-02 20 views

उत्तर

52

इस तरह फ़ोल्डर को परिभाषित करें:

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="CommonAppDataFolder"> 
     <Directory Id="TestFolder" Name="test"> 
      <Directory Id="ExampleFolder" Name="example" /> 
     </Directory> 
    </Directory> 
</Directory> 

यहाँ महत्वपूर्ण हिस्सा CommonAppDataFolder ईद, जो Windows इंस्टॉलर से जाना जाता है। आप Windows Installer Property Reference में ज्ञात सिस्टम फ़ोल्डर की पूरी सूची पा सकते हैं।

यदि आप उस फ़ोल्डर में कोई भी फाइल स्थापित करते हैं, तो यह पूरी तरह से बनाया जाएगा। यदि नहीं, तो मजबूर कर सकते हैं तो वह ऐसा घटक की स्थापना के द्वारा बनाई जाने वाली:

<Component Id="CreateTestFolder" Directory="ExampleFolder" Guid="PUT-RANDOM-GUID-HERE"> 
    <CreateFolder /> 
</Component> 
+0

मैं इस त्रुटि मिलती है: 'त्रुटि CNDL0205: आईडी के साथ निर्देशिका 'CommonAppDataFolder' मान्य रूट निर्देशिका नहीं है। '(प्लस प्रति उत्पाद केवल एक रूट निर्देशिका होने के बारे में थोड़ा और अधिक)। मैं क्या गलत कर रहा हूं? – noelicus

+0

@ नोनेलिकस: विंडोज इंस्टालर में, शीर्ष-स्तरीय पैरेंट निर्देशिका हमेशा TARGETDIR होना चाहिए। मैं इसे स्पष्ट करने के लिए अपना उत्तर अपडेट करूंगा। –

+0

@WimCoenen क्या wix इंस्टॉलर की स्थापना के दौरान फ़ोल्डर/files1..to..files5 को कॉपी करना संभव है। – Royal

11

<Product> के तहत आप में प्रवेश कर सकते हैं:

<DirectoryRef Id="TARGETDIR"> 
     <Directory Id="CommonAppDataFolder"> 
     <Directory Id="CommonAppXXXX" Name="test"> 
      <Directory Id="CommonAppYYYY" Name="example"> 
      <Component Id="CreateProgramDataZZZ" Guid="ABC-ETC"> 
       <CreateFolder /> 
      </Component> 
      </Directory> 
     </Directory> 
     </Directory> 
    </DirectoryRef> 

और घटक CreateProgramDataZZZ संदर्भ अपने feature में।

यह भी इस तरह निर्देशिका पर अनुमतियों को सेट करने के लिए सहायक हो सकता है: जब इसे का उपयोग

<CreateFolder> 
    <util:PermissionEx User="Users" GenericAll="yes" /> 
</CreateFolder> 

(<CreateFolder /> के स्थान पर)

+0

किसी के पास कोई भी फ़ोल्डर बनाने और फ़ाइलों को एक ही फ़ोल्डर में स्थानांतरित करने का विचार है? – Sudhakar

+0

उपयोगकर्ता = पर WIX_ACCOUNT_USERS का उपयोग करें, क्योंकि खाता अन्य भाषाओं में बदल जाएगा। – LeoPucciBr