Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как сделать инсталляшку?? Добавлено: 17.03.03 20:03  

Автор вопроса:  sia1

Народ ,

как мне сделать инсталляшку со всеми прибамбасами???

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 17.03.03 23:06
Существует стандартный пакет Package & Deployment Wizard. Поставляется с VB.

Ответить

Номер ответа: 2
Автор ответа:
 P



ICQ: 346632205 

Вопросов: 5
Ответов: 86
 Профиль | | #2 Добавлено: 17.03.03 23:43
Юзай Package & Deployment Wizard или что нибудь типа InstallWizard, Inno Installer или Install Construct. Есть ещё такой неплохой продукт: Setup Factory 5.0

Ответить

Номер ответа: 3
Автор ответа:
 sia1



Вопросов: 12
Ответов: 18
 Профиль | | #3 Добавлено: 18.03.03 09:30

Я делаю с помощью Package & Deployment Wizard ,

ничего не получается. Мне просто нужно знать как это делать.?

Есть где-нибудь описание этого, чтобы можно было посмотреть?

Ответить

Номер ответа: 4
Автор ответа:
 Justas



ICQ: 259418212 

Вопросов: 24
Ответов: 325
 Web-сайт: justas.newmail.ru
 Профиль | | #4
Добавлено: 18.03.03 10:35

 

> Я делаю с помощью Package & Deployment Wizard , ничего не получается.

на тему не работает Package & Deployment Wizard посмотри здесь:

http://www.vbnet.ru/article/showarticle.asp?id=3      

Ответить

Номер ответа: 5
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #5 Добавлено: 18.03.03 11:04

Inno

Ответить

Номер ответа: 6
Автор ответа:
 P



ICQ: 346632205 

Вопросов: 5
Ответов: 86
 Профиль | | #6 Добавлено: 18.03.03 17:50

Если хочешь, могу скинуть уже исправленный и руссифицированный setup1.exe для Package & Deployment Wizard

Ответить

Номер ответа: 7
Автор ответа:
 Justas



ICQ: 259418212 

Вопросов: 24
Ответов: 325
 Web-сайт: justas.newmail.ru
 Профиль | | #7
Добавлено: 19.03.03 00:22

>как мне сделать инсталляшку со всеми прибамбасами???

вот что писал про это Гайдар Магдануров на vbstreets.ru

Наиболее частый вопрос, который мне задают - как сделать свою программу инсталляции? А когда я расспрашиваю подробнее мне объясняют, что нужна просто красивая программка, которая скопирует файлы из одного места в другое. Поэтому я решил написать статью, где соберу многое из того, что писал ранее (и это есть на VBStreets). мы напишем программу, которая будет устанавливать файлы.

Чем мне нравится идея написания собственного инсталлятора, так это тем. что вы не ограничены и можете засунуть сюда множество своих функций, и пишется инсталлятор как обычная программа.

Теперь объясняю идею - надо написать программу, которая может извлекать, копировать (добавлять запись в system.ini и в реестр и т.д.). Но все это мелочи ... Основная идея - все файлы держать в ресурсах как бинарные, а потом извлекать их куда надо.

Количество форм программы может быть любым, но я не рекомендую делать их слишком много, чтобы не злить и без того злого юзверя. Для того, чтобы формы появлялись там, где надо, мы будем их настраивать так:

При нажатии кнопки Далее>> (или Next>>;), можете назвать так, как хотите.

frmNext.Show
frmNext.Height = Me.Height
frmNext.Width = Me.Width
frmNext.Move Me.Left, Me.Top
Unload Me

Юзер может подвинуть форму, поэтому другую нужно отображать там же, где была предыдущая, т.к. это будет очень эффектно, как будто это одна форма :-).

В код первой формы мы вставим такую штуку (Form_Load):

If App.PrevInstance Then
End
MsgBox "
Уже запущена одна версия программы установки!", 16, "Setup"
End If

Это для того, что бы шибко умный пользователь не запустил два приложения одновременно.

Далее вы можете насовать сколь угодно много форм, но желательно сделать диалог выбора папки для установки. Тут пригодятся следующие вещи: размещаем Dir1, List1, Label1, Label2,Command1. Пишем код.

Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long

События:

Private Sub Drive1_Change()
Spaces = GetDiskFreeSpace(Mid$(Drive1.Drive, 1, 2), secpercl, bytespersec, numoffreecl, AllCl)
Dim l As Long
l = 1024 ^ 2
ss = bytespersec / l
fs = secpercl * ss * numoffreecl
fs = Format(fs, "0")
label2.Caption = "
Свободно на диске: " & fs & " MB"
Dir1.Path = Drive1.Drive
End Sub

Private Sub Dir1_Change()
mDir = Dir1.Path
Label1.Caption = mDir
'
Эту переменную загоняем в модуль как Public InsDir as String, она нам еще пригодится.
End Sub

Private Sub Command1_Click()
On Error GoTo ree_
nd = InputBox("
Введите имя директории", "Новая папка...")
If nd = "" Then Exit Sub
MkDir Dir1.Path & "\" & nd
Dir1.Refresh
Exit Sub
ree_:
MsgBox "
Ошибка, однако.", 16, "Setup"
End Sub

Можете добавлять еще что-нибудь. Это же я так для примера.

Потом идет диалог, установка. Там делаем такую вещь:

Private Sub Form_Load() 'Извлекаем из ресурсов файл, и создаем ярлык.
ProgressBar1.Value = 20
Dim BinaryData() As Byte
BinaryData = LoadResData(101, "Files")
ProgressBar1.Value = 80
Open mDir & "\wininfo.exe" For Binary Access Write As #1
Put #1, 1, BinaryData
Close #1
ProgressBar1.Value = 98
lngresult = fCreateShellLink("..\..\Desktop", "WinInfo", mDir & "\wininfo.exe", "")
'В английских форточках работает.
ProgressBar1.Value = 100
Unload Me
frmFinish.Show
End Sub

Все, после этого выводим последний диалог с поздравлениями.

Примечания:

Возникает проблема - самому инсталлятору нужны посторонние файлы, вроде msvbvm60.dll и ocx, которые вы использовали. Это решается так - эти файлы тащите вместе и инсталлятором в sfx архиве. При распаковке которого запускается ваш setup. что не раздражает пользователя. А в инсталляторе добавляете команды типа FileCopy - переносите файлы туда, куда надо.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам