powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как устнавливать .Net Framework на компьютерах
14 сообщений из 14, страница 1 из 1
Как устнавливать .Net Framework на компьютерах
    #32903064
Gasanov2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как в Setup своей программы проверить установлена ли на компьютере .Net Framework 1.1 и устнавливать если не установлена?

Каждая сложная вещь есть совокупность простых вещей
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32903342
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://]http://www.gotdotnet.ru/LearnDotNet/NETFramework/603.aspx
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32905684
Gasanov2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KoTTThttp://]http://www.gotdotnet.ru/LearnDotNet/NETFramework/603.aspx

Спасибо большое
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32905714
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTThttp://]http://www.gotdotnet.ru/LearnDotNet/NETFramework/603.aspx

Цитата из стаьи:

"Итак, я здесь так и не показал решения основной проблемы - как создать пакет инсталляции, устанавливающий все нужные компоненты одним запуском setup.exe. Конечно, решение будет сильно зависеть от средств, которые вы будете использовать для создания инсталлятора. Но думаю, что я, по крайней мере, поставил эту проблему. А хорошо поставленная проблема - это уже половина решения ;-)"

А кто и где показал? Не очень хорошая статья, можно сказать бестолковая. Я и сам знаю чего должно быть установлено.

Вопрос: Как создать такой инсталлятор который проверит наличии необходимого ПО и устанвит недостающее?
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32905765
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то эта тема здесь уже обсуждалась, поищите на форуме, помнится что какое-то решение было найдено.
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32905779
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32905842
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hDrummer http://www.sql.ru/forum/actualthread.aspx?tid=109271
http://www.sql.ru/forum/actualthread.aspx?tid=109590

"Имхо, не надо лепить Framework в инсталляцию. Просто укажи в системных требованиях, что необходим Framework такой-то, и положи его на CD рядом со своим инсталятором. Стартовую страницу - на html, две кнопки - "установить framework" и "установить прогу". Всех делов."

Это грамотное решение для грамотных.
А как быть с людьми далёкими от ПК(?), что ни в коей мере не умоляет их умственных способностей. Например - с врачами. Им надо засунуть диск в привод, подождать завершения инсталляции программы, нажать кнопочку "закрыть" на сообщении об успешной инсталляции и кликом на созданном в процессе инсталляции ярлыке запустить программу и сосредоточится на своих задачах, а не на выяснении какой у них MDAC стоит и прочее.

Как быть? Нормальный инсталлятор нужен позарез.
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32905863
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут
а вложением сам пользуюсь, там все просто и мона на свой лад настроить, FW инсталируется в silent режиме
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32905869
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234процессе инсталляции ярлыке запустить программу и сосредоточится на своих задачах, а не на выяснении какой у них MDAC стоит и прочее.
Как быть? Нормальный инсталлятор нужен позарез.

для установки MDAC (если нужно) я делал в Action и через InstallerClass, если надо, могу его выложить, но это я уже вроде сдесь когдато делал, а может и нет...а насчет инсталяциии FW я уже выложил ИМХО хороший пример
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32905921
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лиман Артём M234процессе инсталляции ярлыке запустить программу и сосредоточится на своих задачах, а не на выяснении какой у них MDAC стоит и прочее.
Как быть? Нормальный инсталлятор нужен позарез.

для установки MDAC (если нужно) я делал в Action и через InstallerClass, если надо, могу его выложить, но это я уже вроде сдесь когдато делал, а может и нет...а насчет инсталяциии FW я уже выложил ИМХО хороший пример

Вот это уже "по делу" - спасибо.
InstallerClass лучше здесь выложить если можно, что б всё что надо иметь "не отходя от кассы " так сказать.
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32905958
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выкладываю, но пример на C#, но это не принципиально
(тут есть инсталяция MDAC и прописывание DSN)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
Imports System.ComponentModel
Imports System.Configuration.Install
Imports System.IO
Imports Microsoft.Win32

<RunInstaller(True)> Public Class CacheUtilsInstaller
    Inherits System.Configuration.Install.Installer
 ....


    'Constant Declaration
    Private Const ODBC_ADD_DSN As Integer =  1  ' Add data source
    Private Const ODBC_CONFIG_DSN As Integer =  2  ' Configure (edit) data source
    Private Const ODBC_REMOVE_DSN As Integer =  3 
    Private Const ODBC_DRIVER$ = "InterSystems ODBC"
    Private Const ODBC_DRIVER_REG_KEY$ = "SOFTWARE\ODBC\ODBCINST.INI\InterSystems ODBC"
    Private Const MDAC_REG_KEY$ = "SOFTWARE\Classes\MDACVer.Version\CurVer"
    Private Const key$ = "assemblypath"

    Declare Auto Function SQLGetInstalledDrivers Lib "odbccp32.dll" (ByRef lpszBuf$, ByVal cbBufMax%, ByRef pcbBufOut%) As Boolean

    Declare Auto Function SQLConfigDataSource Lib "odbccp32.dll" (ByVal hwndParent As IntPtr, ByVal fRequest As Integer, ByVal lpszDriver As String, ByVal lpszAttributes As String) As Boolean


    Private Sub CacheUtilsInstaller_Committed(ByVal sender As Object, ByVal e As System.Configuration.Install.InstallEventArgs) Handles MyBase.AfterInstall
        'пытаемся создать файл конфигурации сети

        'инсталация MDAC
        InstallMDAC()
        'инсталация драйвера ODBC для Cache
        If InstallCacheODBC() Then
            'если всё ОК, то прописываем DSN
            Me.InstallDSN()
        End If
    End Sub

    'инсталация MDAC
    Private Sub InstallMDAC()
        Dim regKey As RegistryKey = Registry.LocalMachine
        Dim mdacRegKey As RegistryKey
        Try
            'проверяем установлена ли нужная версия MDAC
            mdacRegKey = regKey.OpenSubKey(Me.MDAC_REG_KEY)
            If Not mdacRegKey Is Nothing Then
                Dim curVer$ = mdacRegKey.GetValue("", "")
                If curVer <> "" Then
                    'MDACVer.Version.2.70
                    'получаем установленную версию MDAC
                    Try
                        curVer = curVer.Replace("MDACVer.Version.", "")
                        Dim sep$ = Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator
                        curVer = curVer.Replace(".", sep)
                        Dim tempAr$() = curVer.Split(sep)
                        If tempAr.Length >  2  Then
                            curVer = tempAr( 0 ) + sep + tempAr( 1 )
                        End If
                        Dim ver As Single = Convert.ToSingle(curVer)
                        'если версия 2.7 и выше то выходим
                        If ver >=  2 . 7  Then Exit Sub
                    Catch ex As Exception
                        MsgBox(ex.Message, MsgBoxStyle.Critical)
                    End Try
                    mdacRegKey.Close()
                End If
                'если нет, то устанавливаем
                Dim url$ = Me.GetInstPath + "\bin\mdac_typ.exe"
                StartProcess(url)
            End If
        Finally
            regKey.Close()
        End Try

    End Sub

    'инсталация драйвера ODBC для Cache
    Private Function InstallCacheODBC() As Boolean
        Dim regKey As RegistryKey = Registry.LocalMachine
        'проверяем установлен ли драйвер ODBC для Cache
        If regKey.OpenSubKey(Me.ODBC_DRIVER_REG_KEY) Is Nothing Then
            'если нет, то устанавливаем
            Dim url$ = Me.GetInstPath + "\bin\ODBCDriver.exe"
            Return StartProcess(url)
        End If
        regKey.Close()
        Return True

    End Function

    

    'ппрописывание DSN
    Private Sub InstallDSN()
        'создаем файл конфигурации
        If ApiSettingsUtil.CreateAPISettingsFile(GetInstPath) Then
            'если получилось, то пробуем создать источник данных (DSN)
            'CreateDSN()
        End If
    End Sub


    Private Function GetInstPath$()
        Return Path.GetDirectoryName(Me.Context.Parameters(key))
    End Function

    'создание источника данных (DSN)
    Private Sub CreateDSN()

        'создаем хеш параметров
        Dim dsnParams As Hashtable = Me.ParseDSN()
        Dim cacheParams As Hashtable = ParseCache()
        'создаем DSN
        Dim driverParams$ = "DSN=" + dsnParams("dsn") + "\0" + _
                            "Namespace=" + cacheParams("ns") + "\0" + _
                            "Password=" + dsnParams("pas") + "\0" + _
                            "Host=" + cacheParams("tcp") + "\0" + _
                            "Port=" + cacheParams("port") + "\0" + _
                            "UID=" + dsnParams("usrn") + "\0"
        ' MsgBox(driverparams)
        'Host (IP Address)  Port  User Name
        Dim res As Boolean = SQLConfigDataSource(IntPtr.Zero, ODBC_ADD_DSN, ODBC_DRIVER, driverParams)
    End Sub

    'создание хеша параметров
    Private Function ParseDSN() As Hashtable
        'получаем из созданного файла конфинурации параметры соединения через ODBC
        Dim dsn$ = GetConStr("odbc")
        Dim ht As New Hashtable

        Dim ind% = dsn.IndexOf("dsn=") + "dsn=".Length
        ht("dsn") = dsn.Substring(ind, dsn.IndexOf(";", ind) - ind)

        ind = dsn.IndexOf("uid=") + "uid=".Length
        ht("usrn") = dsn.Substring(ind, dsn.IndexOf(";", ind) - ind)

        ind = dsn.IndexOf("pwd=") + "pwd=".Length
        ht("pas") = dsn.Substring(ind, dsn.Length - ind)

        Return ht
    End Function

    Private Function ParseCache() As Hashtable

        Dim cache$ = GetConStr("con_tcp_ip")
        Dim ht As New Hashtable

        Dim ind% = cache.IndexOf("cn_iptcp:") + "cn_iptcp:".Length
        ht("tcp") = cache.Substring(ind, cache.IndexOf("[", ind) - ind)

        ind = cache.IndexOf("[") + "[".Length
        ht("port") = cache.Substring(ind, cache.IndexOf("]", ind) - ind)

        ind = cache.IndexOf("]:") + "]:".Length
        ht("ns") = cache.Substring(ind, cache.Length - ind)

        Return ht
    End Function


    Private Function GetConStr(ByVal root$)
        Dim f$ = Me.GetInstPath + "\ApiSettings.xml"
        Return GetXmlFileTagValue(f, root)
    End Function

    'зчитування значення елемента xml-файлу
    Public Shared Function GetXmlFileTagValue(ByVal XmlFile$, ByVal Tag$) As String
        Dim xmlDoc As New Xml.XmlDocument
        Dim ln As Xml.XmlNodeList
        Try
            xmlDoc.Load(XmlFile)
            ln = xmlDoc.GetElementsByTagName(Tag)
            Return Trim(ln.Item( 0 ).ChildNodes.Item( 0 ).Value)
        Catch

        End Try
    End Function




End Class

...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32905970
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Явыкладываю, но пример на C#, но это не принципиально
это я конечно хорошо пошутил, я имел ввиду на vb конечно
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32905979
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подмел нечайно функцию одну
Код: plaintext
1.
2.
3.
4.
 Private Function StartProcess(ByVal url$) As Boolean
        Dim si As New ProcessStartInfo(url)
        Return Me.StartProcess(si)
    End Function
...
Рейтинг: 0 / 0
Как устнавливать .Net Framework на компьютерах
    #32924425
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как устнавливать .Net Framework на компьютерах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]