إضافة الوسائط إلى القيم المستندة إلى الاختصار من المتغيرات لا تعمل

StackOverflow https://stackoverflow.com/questions/8829006

سؤال

لدي تطبيق من عصر 2006 وأحتاج إلى إنشاء برنامج تثبيت له.لكي يعمل التطبيق بشكل صحيح، يجب إضافة مثيل SQL Server واسم قاعدة البيانات إلى وسيطات الاختصار.

المشكلة التي أواجهها هي أن القيم المتغيرة الخاصة بي لا تقوم بملء وسيطات الاختصار.

من سجل التثبيت، أستطيع أن أرى أن قيم المتغيرات يتم ملؤها من مربع حوار مخصص ويمكنني رؤية الاختصار الذي يتم إنشاؤه ولكن لا تتم إضافة الوسيطات.

<?define SqlServerInstance="SqlServerInstance" ?>
<?define DatabaseName="DatabaseName" ?>

<Component Id="LWS" Guid="0FB32FAD-83B2-4C0B-B929-C93220E4681A">
    <File Id='LwsEXE' Name='Lws.exe' DiskId='1' Source='..\files\lws\Lws.exe' KeyPath='yes'>
        <Shortcut Id="startmenuLWS" Directory="ProgramMenuFolder" Name="LWS" WorkingDirectory='INSTALLDIR' Icon="LWS.ico" IconIndex="0" Advertise="yes" Arguments="[SqlServerInstance] [DatabaseName]"  />
        <Shortcut Id="desktopLWS" Directory="DesktopFolder" Name="LWS" WorkingDirectory='INSTALLDIR' Icon="LWS.ico" IconIndex="0" Advertise="yes" Arguments="[SqlServerInstance] [DatabaseName]"  />
    </File>
</Component>

<Dialog Id="DatabaseLocationDlg" Width="370" Height="270" Title="[ProductName] Database Connection [Setup]" NoMinimize="yes">
    <Control Id="ServerNameLabel" Type="Text" X="45" Y="73" Width="100" Height="15" TabSkip="no" Text="&amp;SQL Server Name:" />
    <Control Id="ServerNameEdit" Type="Edit" X="45" Y="85" Width="220" Height="18" Property="$(var.SqlServerInstance)" Text="[SqlServerInstance]" />
    <Control Id="DataBaseLabel" Type="Text" X="45" Y="110" Width="100" Height="15" TabSkip="no" Text="&amp;Database Name:" />
    <Control Id="DatabaseEdit" Type="Edit" X="45" Y="122" Width="220" Height="18" Property="$(var.DatabaseName)" Text="[DatabaseName]" />
    <!-- more stuff here-->
</Dialog>

أي أفكار ما أفعله خطأ؟

هل كانت مفيدة؟

المحلول

<?define?> ينشئ متغيرًا للمعالج المسبق، والذي يتم حله في وقت الإنشاء.تريد خاصية، وهو مفهوم وقت التشغيل.يستخدم <Property>, ، واجعله عامًا باستخدام معرف يتكون بالكامل من أحرف كبيرة، وقم بتعيين قيمة السمة الآمنة على نعم للنشر من واجهة المستخدم إلى وقت تشغيل التثبيت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top