27-11-19, 10:59 PM
28-11-19, 02:36 PM
(27-11-19, 10:59 PM)nourmandour كتب : [ -> ]عندما أقوم بتحزيم البرنامج بالستب فاكتوري يخرج ملف أكسس للقراءة فقط برجاء حل هذه المشكلة وشكرا
اول مرة لا أجد حل في المنتدي أين أهل الخبرة
28-11-19, 03:38 PM
اخي يبدو ان هذا يحدث بسبب نظام الامان في ويندوز
ولتخطيه يجب ان تمنح الاذن لبرنامجك بالوصول الى الملف للقراءة والكتابة
ولفعل هذا اضف الكود التالي الى برنامجك
ثم قبل ان تحاول التعامل مع الملف استخدم هذا الكود لتمنح برنامجك الوصول للملف
بمعنى انك تلغي حماية الملف التي تمنعك من التعديل
اتمنى ينفعك الحل ويكون صحيح
ولتخطيه يجب ان تمنح الاذن لبرنامجك بالوصول الى الملف للقراءة والكتابة
ولفعل هذا اضف الكود التالي الى برنامجك
كود :
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)اتمنى ينفعك الحل ويكون صحيح
29-11-19, 10:39 PM
(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)
اتمنى ينفعك الحل ويكون صحيح
29-11-19, 10:54 PM
كتجربة أخي الكريم
حاول .. من مسار قاعدة البيانات بالقرص C
كليك يمين الماوس
و تكمل الباقي ..
ملاحظة : نفس الخطوات تقوم بها مع مجلد التحزيم الحامل لملفات مشروعك بالقرص C
تحياتي
30-11-19, 10:51 PM
(29-11-19, 10:54 PM)عبد العزيز البسكري كتب : [ -> ]كتجربة أخي الكريمحاول .. من مسار قاعدة البيانات بالقرص Cكليك يمين الماوسو تكمل الباقي ..ملاحظة : نفس الخطوات تقوم بها مع مجلد التحزيم الحامل لملفات مشروعك بالقرص C
تحياتي
الف شكر انا عملت الطريقة دي ونفع علي c بس بردة بعد التحزيم البرنامج بيعمل الملف للقراءة رغم اني عملت ذي ما سيادتك قلت قبل التحزيم
30-11-19, 11:10 PM
السلام عليكم
بصراحة صعب تحديد سبب المشكلة , ممكن تجرب هذا الكود وترجع قاعدة البيانات الى خصائصها العادية
قم بتغير المسار والاسم
بصراحة صعب تحديد سبب المشكلة , ممكن تجرب هذا الكود وترجع قاعدة البيانات الى خصائصها العادية
PHP كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
SetAttr("D:\test.txt", FileAttribute.Normal)
End Sub
قم بتغير المسار والاسم
01-12-19, 02:49 AM
السلام عليكم ورحمة الله وبركاته
سبب هذه المشكلة ليس من التحزيم او بجهازك
انما بجهاز الطرف الاخر حيث الامان على دريف C كمستوى عالي لذلك
يتم تحويل اى مجلد غير معرف او مصرح له لوضع طبقاً لصلحيات التى تتاح له
فقط كل ما عليك فعله املاً من اثنين
1- تغيير مسار تثبيت البرنامج على D او اى دريف اخر وستجد تم حل المشكلة
2- هو تنفيذ فى مشروعك عند تشغيل البرنامج لاول مرة اعطاء صلحيات المجلد للقراءة والكتابة وما شبه من خلال cmd
وانصحك بالاختيار الاول ولضمان عدم فقدان قاعدة البيانات تحت اى ظروف لدي المستخدم
الامر الاخير وحل كا امراً ثالث وهو اعطاء الصلاحيات كما اشار اليه عبد العزيز البسكري يدوياً عند المستخدم بجهازه بعد تثبيت البرنامج
لان مش من الطبيعي قول تغيير قوة الامان على دريف C لحل المشكلة فالافضل هو ان تعدل صلاحيات الملف فقط بعد التثبيت
فالابسط والاسهل لك يمكنك العمل عليه
سبب هذه المشكلة ليس من التحزيم او بجهازك
انما بجهاز الطرف الاخر حيث الامان على دريف C كمستوى عالي لذلك
يتم تحويل اى مجلد غير معرف او مصرح له لوضع طبقاً لصلحيات التى تتاح له
فقط كل ما عليك فعله املاً من اثنين
1- تغيير مسار تثبيت البرنامج على D او اى دريف اخر وستجد تم حل المشكلة
2- هو تنفيذ فى مشروعك عند تشغيل البرنامج لاول مرة اعطاء صلحيات المجلد للقراءة والكتابة وما شبه من خلال cmd
وانصحك بالاختيار الاول ولضمان عدم فقدان قاعدة البيانات تحت اى ظروف لدي المستخدم
الامر الاخير وحل كا امراً ثالث وهو اعطاء الصلاحيات كما اشار اليه عبد العزيز البسكري يدوياً عند المستخدم بجهازه بعد تثبيت البرنامج
لان مش من الطبيعي قول تغيير قوة الامان على دريف C لحل المشكلة فالافضل هو ان تعدل صلاحيات الملف فقط بعد التثبيت
فالابسط والاسهل لك يمكنك العمل عليه
01-12-19, 11:22 PM
انا عاجز عن الشكر لسيادتكم وعلي الاهتمام برد عليه ولو لم تحل المشكلة بس كفاية انكم حولتم مع الف الف شكر