![]() |
File encryption center - Setup.vb |
Setup.vb
- Public Class Setup
- Dim MyName As String = My.Application.Info.AssemblyName
- Dim MyDir As String = System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) & "\" & MyName
- Dim SetupStatus As Integer = 0
- 'Dim RMenuText As String = "۞ تشفير / فك تشفير"
- Dim RMenuText As String = MyName
- Dim SetupUIState As Integer = 0
- Private Sub Setup_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- On Error Resume Next
- Me.Text = MyName & " - تثبيت"
- Me.MaximizeBox = False
- InfoLBL.Text = "تثبيت : " & MyName
- StatusLBL.Text = "مرحباً بك في تثبيت " & MyName & System.Environment.NewLine & "إضغط التالي للإنتقال للصفحة التالية ."
- BrevBTN.Enabled = False
- SetupStatus = 1
- End Sub
- Public Sub SetupProgram()
- On Error Resume Next
- My.Computer.FileSystem.CreateDirectory(MyDir)
- My.Computer.FileSystem.CopyFile(System.Environment.CurrentDirectory & "\" & MyName & ".exe", MyDir & "\" & MyName & ".exe", False)
- 'My.Computer.FileSystem.WriteAllBytes(System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\Free Crypt Center.lnk", My.Resources.Free_Crypt_Center, False)
- If My.Computer.FileSystem.DirectoryExists(System.Environment.GetFolderPath(Environment.SpecialFolder.StartMenu) & "\\uc1?لبرامج") = True Then
- My.Computer.FileSystem.CreateDirectory(System.Environment.GetFolderPath(Environment.SpecialFolder.StartMenu) & "\\uc1?لبرامج\" & MyName)
- My.Computer.FileSystem.WriteAllBytes(System.Environment.GetFolderPath(Environment.SpecialFolder.StartMenu) & "\\uc1?لبرامج\" & MyName & "\" & "Free Crypt Center.lnk", My.Resources.Free_Crypt_Center, False)
- Else
- My.Computer.FileSystem.CreateDirectory(System.Environment.GetFolderPath(Environment.SpecialFolder.StartMenu) & "\Programs\" & MyName)
- My.Computer.FileSystem.WriteAllBytes(System.Environment.GetFolderPath(Environment.SpecialFolder.StartMenu) & "\Programs\" & MyName & "\" & "Free Crypt Center.lnk", My.Resources.Free_Crypt_Center, False)
- End If
- 'Creatin Right Menu Items :
- My.Computer.Registry.ClassesRoot.CreateSubKey("*\shell\CryptCenter", Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree).SetValue("", RMenuText, Microsoft.Win32.RegistryValueKind.String)
- 'set icon :
- My.Computer.Registry.ClassesRoot.OpenSubKey("*\shell\CryptCenter", True).SetValue("Icon", MyDir & "\" & MyName & ".exe", Microsoft.Win32.RegistryValueKind.String)
- My.Computer.Registry.ClassesRoot.CreateSubKey("*\shell\CryptCenter\command", Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree).SetValue("", System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) & "\" & MyName & "\" & MyName & ".exe %1", Microsoft.Win32.RegistryValueKind.String)
- My.Computer.Registry.ClassesRoot.CreateSubKey("Folder\shell\CryptCenter", Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree).SetValue("", RMenuText, Microsoft.Win32.RegistryValueKind.String)
- 'set icon :
- My.Computer.Registry.ClassesRoot.OpenSubKey("Folder\shell\CryptCenter", True).SetValue("Icon", MyDir & "\" & MyName & ".exe", Microsoft.Win32.RegistryValueKind.String)
- My.Computer.Registry.ClassesRoot.CreateSubKey("Folder\shell\CryptCenter\command", Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree).SetValue("", System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) & "\" & MyName & "\" & MyName & ".exe %1", Microsoft.Win32.RegistryValueKind.String)
- 'Creating *.List Extention Manager :
- My.Computer.Registry.ClassesRoot.CreateSubKey(".list", Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree).SetValue("", MyName & " File", Microsoft.Win32.RegistryValueKind.String)
- My.Computer.Registry.ClassesRoot.OpenSubKey(".list", True).CreateSubKey("DefaultIcon", Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree).SetValue("", MyDir & "\" & MyName & ".exe,0", Microsoft.Win32.RegistryValueKind.String)
- My.Computer.Registry.ClassesRoot.OpenSubKey(".list", True).CreateSubKey("shell", Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree)
- My.Computer.Registry.ClassesRoot.OpenSubKey(".list\shell", True).CreateSubKey("open", Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree).SetValue("", "فتح القائمة", Microsoft.Win32.RegistryValueKind.String)
- My.Computer.Registry.ClassesRoot.OpenSubKey(".list\shell\open", True).SetValue("icon", MyDir & "\" & MyName & ".exe,0", Microsoft.Win32.RegistryValueKind.String)
- My.Computer.Registry.ClassesRoot.OpenSubKey(".list\shell\open", True).CreateSubKey("command", Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree).SetValue("", MyDir & "\" & MyName & ".exe /list /%1", Microsoft.Win32.RegistryValueKind.String)
- 'Creating Program Uninstaller :
- My.Computer.Registry.CurrentUser.CreateSubKey("Software\Microsoft\Windows\CurrentVersion\Uninstall\" & MyName, Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree)
- My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Uninstall\" & MyName, True).SetValue("DisplayName", "۞ " & MyName & " - معالج الإزالة", Microsoft.Win32.RegistryValueKind.String)
- My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Uninstall\" & MyName, True).SetValue("UninstallString", System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) & "\" & MyName & "\" & MyName & ".exe /إزالة", Microsoft.Win32.RegistryValueKind.String)
- 'Finishing :
- Manager.Enabled = True
- End Sub
- Private Sub CloseBTN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloseBTN.Click
- On Error Resume Next
- If MsgBox("هل ترغب فعلاً بإلغاء التثبيت ؟", MsgBoxStyle.YesNo, MyName) = MsgBoxResult.Yes Then
- End
- End If
- End Sub
- Private Sub NextBTN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NextBTN.Click
- On Error Resume Next
- If SetupStatus = 0 Then
- InfoLBL.Text = "تثبيت : " & MyName
- StatusLBL.Text = "مرحباً بك في تثبيت " & MyName & System.Environment.NewLine & "إضغط التالي للإنتقال للصفحة التالية ."
- NextBTN.Text = "< التالي"
- SetupStatus += 1
- GoTo EndPoint
- ElseIf SetupStatus = 1 Then
- InfoLBL.Text = "تثبيت : " & MyName & System.Environment.NewLine & "الترخيص : "
- StatusLBL.Text = "ترخيص " & MyName & " :" & System.Environment.NewLine & System.Environment.NewLine & "إن هذا البرنامج متاح لكل من هو بحاجة للقيام بحجب المعلومات عن فئة ما أو مجموعة معينة ." & System.Environment.NewLine & "لسنا مسؤولين عن عمليات الحجب لكل ما هو غير أخلاقي ، فهذه العملية تسيء لصاحبها أولاً و لا تمت لهدف البرنامج بصلة ."
- NextBTN.Text = "أقبل"
- BrevBTN.Enabled = True
- SetupStatus += 1
- GoTo EndPoint
- ElseIf SetupStatus = 2 Then
- InfoLBL.Text = "تثبيت : " & MyName & System.Environment.NewLine & "تعيين المسار :"
- StatusLBL.Text = "مسار " & MyName & " الإفتراضي :" & System.Environment.NewLine & System.Environment.NewLine & "المسار هو :" & System.Environment.NewLine & MyDir
- NextBTN.Text = "< التالي"
- SetupStatus += 1
- GoTo EndPoint
- ElseIf SetupStatus = 3 Then
- InfoLBL.Text = "تثبيت : " & MyName & System.Environment.NewLine & "تعيين قيمة القائمة اليمنى :"
- StatusLBL.Text = "يتيح " & MyName & " إمكانية إختيار النص الذي سيظهر في القائمة اليمنى عند الضغط على أي ملف / مجلد ." & System.Environment.NewLine & System.Environment.NewLine & "القيمة الإفتراضية هي :" & System.Environment.NewLine & RMenuText & System.Environment.NewLine & System.Environment.NewLine & "إختر النص المراد ظهوره :"
- NextBTN.Text = "تثبيت"
- RMTXT.Text = RMenuText
- RMTXT.Visible = True
- SetupStatus += 1
- GoTo EndPoint
- ElseIf SetupStatus = 4 Then
- RMTXT.Visible = False
- RMenuText = RMTXT.Text
- InfoLBL.Text = "تثبيت : " & MyName & " ."
- StatusLBL.Text = "تثبيت " & MyName & " :" & System.Environment.NewLine & System.Environment.NewLine & "الإستعداد للتثبيت"
- NextBTN.Visible = False
- BrevBTN.Visible = False
- CloseBTN.Visible = False
- SetupProgram()
- SetupStatus += 1
- GoTo EndPoint
- ElseIf SetupStatus = 5 Then
- End
- End If
- EndPoint:
- End Sub
- Private Sub Manager_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Manager.Tick
- On Error Resume Next
- If SetupUIState = 0 Then
- StatusLBL.Text = "تثبيت " & MyName & " :" & System.Environment.NewLine & System.Environment.NewLine & "جاري التثبيت "
- SetupUIState += 1
- GoTo EndPoint
- ElseIf SetupUIState = 1 Then
- StatusLBL.Text = "تثبيت " & MyName & " :" & System.Environment.NewLine & System.Environment.NewLine & "جاري التثبيت ."
- SetupUIState += 1
- GoTo EndPoint
- ElseIf SetupUIState = 2 Then
- StatusLBL.Text = "تثبيت " & MyName & " :" & System.Environment.NewLine & System.Environment.NewLine & "جاري التثبيت .."
- SetupUIState += 1
- GoTo EndPoint
- ElseIf SetupUIState = 3 Then
- StatusLBL.Text = "تثبيت " & MyName & " :" & System.Environment.NewLine & System.Environment.NewLine & "جاري التثبيت ..."
- SetupUIState += 1
- GoTo EndPoint
- ElseIf SetupUIState = 4 Then
- StatusLBL.Text = "لقد تم تثبيت" & MyName & "على جهازك بنجاح" & System.Environment.NewLine & "لقد تم إنشاء اختصار على سطح المكتب لديك ، بإمكانك تشغيله دائماً من هناك"
- SetupUIState += 1
- GoTo EndPoint
- ElseIf SetupUIState = 5 Then
- End
- End If
- EndPoint:
- End Sub
- Private Sub BrevBTN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrevBTN.Click
- On Error Resume Next
- SetupStatus = SetupStatus - 2
- If SetupStatus <= 1 Then BrevBTN.Enabled = False
- If SetupStatus <> 3 Then RMTXT.Visible = False
- NextBTN_Click(sender, e)
- End Sub
- End Class