VS2010(英文版)打包部署自动安装数据库
上周第一次打包自己的系统时,在别人电脑上使用不了,因为远程连接不了我的数据库,所以要想在别人的电脑上运行我的系统则需要手动附加我的数据库。 下面我来为大家介绍一种方法:在打包程序时将数据库一起打包,这样安装程序的时候会自动附加数据库(前提是
上周第一次打包自己的系统时,在别人电脑上使用不了,因为远程连接不了我的数据库,所以要想在别人的电脑上运行我的系统则需要手动附加我的数据库。
下面我来为大家介绍一种方法:在打包程序时将数据库一起打包,这样安装程序的时候会自动附加数据库(前提是该电脑上有SQL SERVER)。
一).创建部署项目
1. 打开VS.NET2011。
2.在“File”菜单上指向“New Project”。
3. 在“New Project”对话框中,选择“Installed Templates”窗格中的”Other Project Types”中的“Setup and Deployment”,然后选择“Visual Studio Installer”窗格中的“Setup Project”。在“Name”框中键入 MySetup。
4. 单击“OK”关闭对话框。
5. 项目被添加到解决方案资源管理器中,并且文件系统编辑器打开。
6. 在“Property”窗口中,选择 ProductName 属性,并键入 数据库打包安装。
二).将 主程序 项目的输出添加到部署项目中
1. 在“File System”中,选择“Application Folder”。右击指向“Add”,然后选择“File”。
2. 在“Add File”对话框中,选择你程序的dll及exe文件.
3. 单击“打开”关闭对话框.
三).创建安装程序类
1. 在“Solution Explorer”中的“Solution’MySetup’”上右键选择“Add”后选择“New Project”。
2. 在“New Project”对话框中,选择“Other Languages”窗格中的“Visual Basic“,然后选择“Class Library”。在“Name”框中键入 InstallDB。
3. 单击“OK”关闭对话框。
4. 从“InstallDB”类库下右键选择"Add”中的“New Item”。5. 在“New Item”对话框中选择“General”后选择“Installer Class”。在“Name”框中键入 InstallDB。
6. 单击“Add”关闭对话框。
7. “InstallDB”安装程序类详细代码附后。
四).创建自定义安装对话框
1. 在解决方案资源管理器中选择“MySetup”项目。右键然后在“View”菜单上选择“User Interface”。
2. 在用户界面编辑器中,选择“Install”下的“Start”节点选择“Add Dialog”。
3 在“Add Dialog”对话框中,选择“Textboxs (A)”对话框,然后单击“OK”关闭对话框。
4. 在“Textboxs (A)”右键菜单上,选择“Move up”。重复此步骤,直到“Textboxs (A)”对话框位于“Installation Folder”节点之上。
5 在“Textboxs (A)”的“Property”窗口中,选择 BannerText 属性并键入:安装数据库。
6. 选择 BodyText 属性并键入:安装程序将在目标机器上安装数据库。
7. 选择 Edit1Label 属性并键入:数据库名称:
8 . 选择 Edit1Property 属性并键入 DBNAME
9. 选择 Edit1Value 属性并键入: budgetSysDB
10. 选择 Edit2Label 属性并键入:服务器名:
11. 选择 Edit2Property 属性并键入 SERVER
12. 选择 Edit2Value 属性并键入:(local)
13. 选择 Edit3Label 属性并键入:用户名:
13. 选择 Edit3Value 属性并键入:sa
15. 选择 Edit3Property 属性并键入 USER
16. 选择 Edit4Label 属性并键入:密码:
18. 选择 Edit4Property 属性并键入 PWD
19. 选择Edit2Visible 属性,设置为 false;选择Edit2Visible、Edit3Visible 和 Edit4Visible 属性,并将它们设置为 true
五).创建自定义操作
1. 在解决方案资源管理器中选择“MySetup”项目,右键在“View”菜单上选择“Custom Actions”。
2. 在自定义操作编辑器中选择“Install”节点。右键选择“Add Custom Action……”。
3. 在“Select Item in Project”对话框中,双击“Application Folder”。
4. 单击”Add output”按钮选择”Project”中的” InstallDB”,在下面框中选择”Primary Output”(此项一般为默认),然后单击“OK”关闭对话框。5. 在”Primary Output from InstallDB(Active)的属性窗口中,选择 CustomActionData属性并键入:/dbname=[DBNAME] /server=[SERVER] /user=[USER] /pwd=[PWD] /targetdir="[TARGETDIR]/"。
附:/targetdir="[TARGETDIR]/"是安装后的目标路径,为了在installDB类中获得安装后的路径,我们设置此参数。
六).添加数据库文件:
1. 在解决方案资源管理器中选择“MySetup”项目,右键在“Add”选择“file”。
2.把数据文件”BookManage_Data.MDF”” BookManage_Log.LDF”添加到”MySetup”。
七).”InstallDB”安装程序类代码(vb.net)
Imports System.ComponentModel
Imports System.Configuration.Install
Imports System.Collections.Generic
Imports System
Imports System.Data
Imports System.Data.SqlClientNamespace InstallDB
Partial Public Class InstallerDB
Inherits Installer'''
''' 必须的设计器变量
'''
'''2011-4-27 10:20 by dan
Private components As System.ComponentModel.IContainer = Nothing
'''
''' 构造函数
'''
'''2011-4-27 10:20 by dan
Public Sub New()MyBase.New()
'This call is required by the Component Designer.
InitializeComponent()
'Dim state As System.Collections.IDictionary = New Hashtable
'Add initialization code after the call to InitializeComponentEnd Sub
'''
''' 清理所有正在使用的资源
'''
'''2011-4-27 10:20 by dan
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not IsNothing(components) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub#Region "组件设计器生成的代码"
'''
''' 设计器支持所需的方法——不要使用代码编辑器修改此方法的内容
'''
'''
Private Sub InitializeComponent()
components = New System.ComponentModel.Container
End Sub
#End Region
#Region "数据库文件为mdf和ldf文件"
'''
''' 附加数据库的mdf文件和ldf文件
'''
''' sql语句
''' 数据名
''' mdf文件名
''' ldf文件名
'''2011-4-27 15:57 by dan
Private Sub CreateDataBase(ByVal strSql As String, ByVal DataName As String, ByVal strMdf As String, ByVal strLdf As String, ByVal path As String)
'附加数据库
Dim str As String
Dim myConn As SqlConnection = New SqlConnection(strSql)
str = "EXEC sp_attach_db @dbname='" & DataName & "',@filename1='" & strMdf & "',@filename2='" & strLdf & "'"Dim myCommand As SqlCommand = New SqlCommand(str, myConn)
myConn.Open()
myCommand.ExecuteNonQuery()
myConn.Close()
End Sub'''
''' 重写安装代码
'''
'''
'''2011-5-7 18:46 by dan
Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary)MyBase.Install(stateSaver)
Dim server As String = Me.Context.Parameters("server")
Dim uid As String = Me.Context.Parameters("user")
Dim pwd As String = Me.Context.Parameters("pwd")
Dim path As String = Me.Context.Parameters("targetdir")
'连接sql
Dim strSql As String = "server=" & server & ";uid=" & uid & ";pwd=" & pwd & ";database=master"Dim DataName As String = "BookManage"
Dim strMdf As String = path & "/BookManage_Data.mdf"
Dim strLdf As String = path & "/BookManage_Log.ldf"Me.CreateDataBase(strSql, DataName, strMdf, strLdf, path)
End Sub
#End Region
End ClassEnd Namespace
八).打包時加入卸载功能:
1.在打包項目中添加文件msiexec.exe(一般可在c:/windows/system32/下找到)
2.在File System中选择Application Folder,在msiexec.exe上按右鍵,选择”Create Shortcut to msiexec.exe”,重命名快捷方式为"卸载".
3.更改此快捷方式的Arguments 为"/x {產品id}",产品id的值为打包項目的ProductCode属性值.
C#版:http://www.cnblogs.com/neozhu/archive/2007/02/24/654985.html

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









1. はじめに ここ数年、YOLO は、計算コストと検出パフォーマンスの効果的なバランスにより、リアルタイム物体検出の分野で主流のパラダイムとなっています。研究者たちは、YOLO のアーキテクチャ設計、最適化目標、データ拡張戦略などを調査し、大きな進歩を遂げました。同時に、後処理に非最大抑制 (NMS) に依存すると、YOLO のエンドツーエンドの展開が妨げられ、推論レイテンシに悪影響を及ぼします。 YOLO では、さまざまなコンポーネントの設計に包括的かつ徹底的な検査が欠けており、その結果、大幅な計算冗長性が生じ、モデルの機能が制限されます。効率は最適ではありませんが、パフォーマンス向上の可能性は比較的大きくなります。この作業の目標は、後処理とモデル アーキテクチャの両方から YOLO のパフォーマンス効率の境界をさらに改善することです。この目的を達成するために

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

HTML はデータベースを直接読み取ることはできませんが、JavaScript と AJAX を通じて実現できます。この手順には、データベース接続の確立、クエリの送信、応答の処理、ページの更新が含まれます。この記事では、JavaScript、AJAX、および PHP を使用して MySQL データベースからデータを読み取る実践的な例を示し、クエリ結果を HTML ページに動的に表示する方法を示します。この例では、XMLHttpRequest を使用してデータベース接続を確立し、クエリを送信して応答を処理することで、ページ要素にデータを埋め込み、データベースを読み取る HTML の機能を実現します。

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

PHP でデータベース接続エラーを処理するには、次の手順を使用できます。 mysqli_connect_errno() を使用してエラー コードを取得します。 mysqli_connect_error() を使用してエラー メッセージを取得します。これらのエラー メッセージをキャプチャしてログに記録することで、データベース接続の問題を簡単に特定して解決でき、アプリケーションをスムーズに実行できるようになります。

360 セキュア ブラウザをコンピュータにダウンロードするにはどうすればよいですか?非常に安全な Web ブラウザ ソフトウェアです。このブラウザは機能が豊富で、操作が非常に簡単です。360 セキュア ブラウザを使用して Web を閲覧すると、ユーザーのプライバシーとセキュリティを非常によく保護できます。多くの人がこのブラウザを使用することを好みます。ブラウザ オフィス、しかし、多くの人はまだ 360 セキュア ブラウザをコンピュータにダウンロードしてインストールする方法を知りません。この記事では、360 セーフ ブラウザ PC 版のインストール プロセスを詳しく紹介し、問題の解決に役立つことを願っています。 360 Secure Browser のコンピュータ バージョンでのインストール プロセスの概要 1. コンピュータのメイン ページで、「360 Software Manager」を見つけて入力します (図を参照)。 2. 360 ソフトウェア マネージャーを開き、検索ボックスを見つけます (図を参照)。 3. 「検索」をクリックします。

PHP Web サイトを正常に展開して維持するには、次の手順を実行する必要があります。 Web サーバー (Apache や Nginx など) を選択する PHP をインストールする データベースを作成して PHP に接続する コードをサーバーにアップロードする ドメイン名と DNS を設定する Web サイトのメンテナンスを監視する手順には、PHP および Web サーバーの更新、Web サイトのバックアップ、エラー ログの監視、コンテンツの更新が含まれます。
