मैं अपने आवेदन के लिए कई शॉर्टकट बनाने की कोशिश कर रहा हूं जो Shortcut तत्व की Arguments
विशेषता का उपयोग करके कमांडलाइन पर विभिन्न तर्कों को पारित कर रहा है। मैं अपने वाईएक्स फ़ाइल में किसी अन्य प्रॉपर्टी से किसी मौजूदा प्रॉपर्टी को संदर्भित करने में सक्षम होना चाहता हूं।वाईएक्स संपत्ति संदर्भ अन्य संपत्ति
<Component Id="MyAppProgramMenuShortcut" Guid="MY-GUID-HERE">
<RegistryValue Root="HKCU"
Key="Software\[Manufacturer]\[ProductName]\MyAppShortcut" Type="string"
Value="" KeyPath="yes" />
<Shortcut Id="ProgramMenuShortcutMyApp" Directory="ProgramMenuDir"
Name="MyApp" Target="[SHORTCUT_TARGET]"
Arguments="-jar myApp.jar [ARGUMENTS]" WorkingDirectory="INSTALLDIR"
Icon="logo.ico" />
</Component>
मैं के लिए कुछ बराबर की कोशिश की है:
मैं के माध्यम से ARGUMENTS
संपत्ति का हवाला शॉर्टकट बनाने के लिए सक्षम होना चाहता हूँ
<Property Id="PROGRAM_FILES">C:\Program Files</Property>
<Property Id="MY_APP_DIR">[PROGRAM_FILES]\MyApp</Property>
<Property Id="ARGUMENTS">[MY_APP_DIR]\fileA.xml [MY_APP_DIR]\fileB.xml</Property>
लेकिन फिर मैं जब गुजर इस चेतावनी मिलती है यह candle.exe:
चेतावनी एनजी सीएनडीएल 1077: 'MY_APP_DIR' संपत्ति में '[PROGRAM_FILES]' है जो इसके मूल्य में एक अन्य संपत्ति का अवैध संदर्भ है। यदि यह मान स्ट्रिंग अक्षर है, तो कोई संपत्ति संदर्भ नहीं है, तो कृपया इस चेतावनी को अनदेखा करें। किसी अन्य प्रॉपर्टी के मूल्य के साथ एक संपत्ति सेट करने के लिए, संपत्ति और मूल्य विशेषताओं के साथ एक कस्टम एक्शन का उपयोग करें।
तो, चेतावनी में सुझाव के आधार पर मैं के बराबर कुछ में स्विच:
<CustomAction Id="PROGRAM_FILES" Property="PROGRAM_FILES" Value="C:\Program Files"/>
<CustomAction Id="MY_APP_DIR" Property="MY_APP_DIR" Value="[PROGRAM_FILES]\MyApp"/>
<CustomAction Id="ARGUMENTS" Property="ARGUMENTS" Value="[MY_APP_DIR]\fileA.xml [MY_APP_DIR]\fileB.xml"/>
और मेरे पास कोई चेतावनी या त्रुटियों मिलता है, लेकिन समस्या यह है कि जब मैं अनुप्रयोग शॉर्टकट डॉन स्थापित लक्ष्य क्षेत्र में तर्क नहीं है।
क्या मैं ऐसा कुछ नहीं कर रहा हूं जो मुझे करना चाहिए? क्या मैं ऐसा करना चाहता हूं जो मैं करना चाहता हूं?
मुझे '[#FileId] 'वाक्यविन्यास के बारे में पता नहीं था। धन्यवाद। एकमात्र मुद्दा एक ** चेतावनी LGHT1076 है: ICE69 ** _light.exe_ के माध्यम से पारित होने पर। इसलिए, यह काम करता है लेकिन इसकी अनुशंसा नहीं की जाती है क्योंकि मैं अलग-अलग 'घटक' में फ़ाइल संदर्भ का उपयोग कर रहा हूं। –
एक आईसीई 6 9 * चेतावनी * ठीक है अगर आप हमेशा यह सुनिश्चित करते हैं कि घटक एक ही सुविधा में हैं। आईसीई चेतावनियों का लगभग हमेशा मतलब है "हे, यह कुछ ऐसा है जो आपको यह सुनिश्चित करने के लिए देखना चाहिए कि इसका मतलब क्या है," ऐसा कुछ नहीं है या इसकी अनुशंसा नहीं की जाती है। –