منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
لو سمحتوا واريد حل - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : لو سمحتوا واريد حل (/showthread.php?tid=32274)



لو سمحتوا واريد حل - nourmandour - 27-11-19

عندما أقوم بتحزيم البرنامج  بالستب فاكتوري يخرج ملف أكسس للقراءة فقط برجاء حل هذه المشكلة وشكرا


RE: لو سمحتوا واريد حل - nourmandour - 28-11-19

(27-11-19, 10:59 PM)nourmandour كتب : عندما أقوم بتحزيم البرنامج  بالستب فاكتوري يخرج ملف أكسس للقراءة فقط برجاء حل هذه المشكلة وشكرا

اول مرة لا أجد حل في المنتدي أين أهل الخبرة


RE: لو سمحتوا واريد حل - معاند الحظ - 28-11-19

اخي يبدو ان هذا يحدث بسبب نظام الامان في ويندوز
ولتخطيه يجب ان تمنح الاذن  لبرنامجك بالوصول الى الملف للقراءة والكتابة

ولفعل هذا اضف الكود التالي الى برنامجك

كود :
Sub AddFileSecurity(ByVal fileName As String, ByVal account As String, _
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)

       ' Get a FileSecurity object that represents the
       ' current security settings.
       Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)

       ' Add the FileSystemAccessRule to the security settings.
       Dim accessRule As FileSystemAccessRule = _
           New FileSystemAccessRule(account, rights, controlType)

       fSecurity.AddAccessRule(accessRule)

       ' Set the new access settings.
       File.SetAccessControl(fileName, fSecurity)

   End Sub

   Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String, _
     ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)

       ' Get a FileSecurity object that represents the
       ' current security settings.
       Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)

       ' Remove the FileSystemAccessRule from the security settings.
       fSecurity.RemoveAccessRule(New FileSystemAccessRule(account, _
           rights, controlType))

       ' Set the new access settings.
       File.SetAccessControl(fileName, fSecurity)

   End Sub

ثم قبل ان تحاول التعامل مع الملف استخدم هذا الكود لتمنح برنامجك الوصول للملف
بمعنى انك تلغي حماية الملف التي تمنعك من التعديل 
كود :
RemoveFileSecurity("d:\s.mdb", System.Security.Principal.WindowsIdentity.GetCurrent().Name, _
FileSystemRights.ReadData, AccessControlType.Deny)

اتمنى ينفعك الحل ويكون صحيح


RE: لو سمحتوا واريد حل - nourmandour - 29-11-19

(28-11-19, 03:38 PM)CrazyMe كتب : اخي يبدو ان هذا يحدث بسبب نظام الامان في ويندوز
ولتخطيه يجب ان تمنح الاذن  لبرنامجك بالوصول الى الملف للقراءة والكتابة

ولفعل هذا اضف الكود التالي الى برنامجك

كود :
Sub AddFileSecurity(ByVal fileName As String, ByVal account As String, _
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)

       ' Get a FileSecurity object that represents the
       ' current security settings.
       Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)

       ' Add the FileSystemAccessRule to the security settings.
       Dim accessRule As FileSystemAccessRule = _
           New FileSystemAccessRule(account, rights, controlType)

       fSecurity.AddAccessRule(accessRule)

       ' Set the new access settings.
       File.SetAccessControl(fileName, fSecurity)

   End Sub

   Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String, _
     ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)

       ' Get a FileSecurity object that represents the
       ' current security settings.
       Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)

       ' Remove the FileSystemAccessRule from the security settings.
       fSecurity.RemoveAccessRule(New FileSystemAccessRule(account, _
           rights, controlType))

       ' Set the new access settings.
       File.SetAccessControl(fileName, fSecurity)

   End Sub

ثم قبل ان تحاول التعامل مع الملف استخدم هذا الكود لتمنح برنامجك الوصول للملف
بمعنى انك تلغي حماية الملف التي تمنعك من التعديل 
كود :
RemoveFileSecurity("d:\s.mdb", System.Security.Principal.WindowsIdentity.GetCurrent().Name, _
FileSystemRights.ReadData, AccessControlType.Deny)

اتمنى ينفعك الحل ويكون صحيح
الف شكر علي اهتمامك و الرد على  ولاكن للأسف لم ينفع هذا الكود مع


RE: لو سمحتوا واريد حل - عبد العزيز البسكري - 29-11-19

كتجربة أخي الكريم
حاول .. من مسار قاعدة البيانات بالقرص C
كليك يمين الماوس
و تكمل الباقي ..
ملاحظة : نفس الخطوات تقوم بها مع مجلد التحزيم الحامل لملفات مشروعك بالقرص C
تحياتي



RE: لو سمحتوا واريد حل - nourmandour - 30-11-19

(29-11-19, 10:54 PM)عبد العزيز البسكري كتب :
كتجربة أخي الكريم
حاول .. من مسار قاعدة البيانات بالقرص C
كليك يمين الماوس
و تكمل الباقي ..
ملاحظة : نفس الخطوات تقوم بها مع مجلد التحزيم الحامل لملفات مشروعك بالقرص C
تحياتي

الف شكر انا عملت الطريقة دي ونفع علي c بس بردة بعد التحزيم البرنامج بيعمل الملف للقراءة رغم اني عملت ذي ما سيادتك قلت قبل التحزيم


RE: لو سمحتوا واريد حل - علي بنيان - 30-11-19

السلام عليكم
بصراحة صعب تحديد سبب المشكلة , ممكن تجرب هذا الكود وترجع قاعدة البيانات الى خصائصها العادية
PHP كود :
Private Sub Form1_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        SetAttr
("D:\test.txt"FileAttribute.Normal)
    End Sub 

قم بتغير المسار والاسم


RE: لو سمحتوا واريد حل - kiki - 01-12-19

السلام عليكم ورحمة الله وبركاته
سبب هذه المشكلة ليس من التحزيم او بجهازك
انما بجهاز الطرف الاخر حيث الامان على دريف C كمستوى عالي لذلك
يتم تحويل اى مجلد غير معرف او مصرح له لوضع طبقاً لصلحيات التى تتاح له
فقط كل ما عليك فعله املاً من اثنين
1- تغيير مسار تثبيت البرنامج على D او اى دريف اخر وستجد تم حل المشكلة
2- هو تنفيذ فى مشروعك عند تشغيل البرنامج لاول مرة اعطاء صلحيات المجلد للقراءة والكتابة وما شبه من خلال cmd
وانصحك بالاختيار الاول ولضمان عدم فقدان قاعدة البيانات تحت اى ظروف لدي المستخدم
الامر الاخير وحل كا امراً ثالث وهو اعطاء الصلاحيات كما اشار اليه عبد العزيز البسكري يدوياً عند المستخدم بجهازه بعد تثبيت البرنامج
لان مش من الطبيعي قول تغيير قوة الامان على دريف C لحل المشكلة فالافضل هو ان تعدل صلاحيات الملف فقط بعد التثبيت
فالابسط والاسهل لك يمكنك العمل عليه


RE: لو سمحتوا واريد حل - nourmandour - 01-12-19

انا عاجز عن الشكر لسيادتكم وعلي الاهتمام برد عليه ولو لم تحل المشكلة بس كفاية انكم حولتم مع الف الف شكر