PDA

View Full Version : سوال: اطلاعات موجود در فايل Product.xml



tehrandevil
دوشنبه 16 خرداد 1390, 16:10 عصر
سلام دوستان،
كساني كه با ويژوال استوديو ستاپ برنامه براي خود ساخته اند شايد به اين مشكل برخورده باشند:
در هنگام ساخت ستاپ با برنامه ويژوال استوديو مي توان از يكسري ماژولهاي از پيش آماده (Prerequistes) براي نصب استفاده كرد مثل Crystal report, .net framework و خيلي چيزهاي ديگر.
در بعضي مواقع ما نياز داريم كه يك برنامه كه خودمان نوشته ايم را به عنوان يك برنامه جدا بر روي سيستم كاربر به طور اتوماتيك نصب كنيم. در اين حالت براي اينكه يك برنامه چند بار نصب نشود لازم است كه قبل از نصب چك شود كه آيا اين برنامه بر روي سيستم وجود دارد يا نه. اگر وجود داشت كه نصب نشود و اگر نه، نصب شود.
ويژوال استوديو در قسمت:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages
به ما اجازه مي دهد كه در فايل Product.xml بتوانيم اين چك را انجام دهيم، توسط دستور:
<InstallChecks> و پس از آن دستورات <AssemblyCheck يا <RegistryCheck يا <FileCheck و يا . . .

حال سوال من از دوستان اين است كه آيا كسي با اين قسمت كار كرده است؟
من تمام اطلاعات مربوط به اين قسمت را از سايت ماكروسافت خوانده ام:
http://msdn.microsoft.com/en-us/library/ms229432(v=vs.80).aspx (http://msdn.microsoft.com/en-us/library/ms229432(v=vs.80).aspx)
و
http://msdn.microsoft.com/en-us/library/ms229231.aspx (http://msdn.microsoft.com/en-us/library/ms229231.aspx)

من بايد به دنبال يك فايل را در كامپيوتر مقصد بگردم، اگر يافتم يعني برنامه نصب شده و اگر نبود يعني بايد نصب شود.
دوستان لطفا از من نخواهيد كه يك چيزي را توي رجيستري بنويسم و دفعه بعد دنبال آن بگردم، اين كار امكان ندارد.(اين يك برنامه از پيش آماده و خريداري شده است.)

با اين دستورات مي توان رجيستري را چك كرد:
<InstallChecks>
<RegistryCheck Property="IsViewerInstalled" Key="HKLM\Software\Microsoft\ReportViewer\v9.0" Value="Install" />
</InstallChecks>
ولي هيچ جايي چك كردن فايل را پيدا نكردم، اين در حالي است كه اين كار توسط دستورات پشتيباني مي‌شود.
<InstallChecks>
<FileCheck
Property
FileName
SearchPath
SpecialFolder
SearchDepth
/>
</InstallChecks>
ولي متاسفانه كار نمي كند.
لطفا اساتيد راهنمايي فرمايند.
با تشكر