『壹』 我用C#寫好了一個小程序,怎樣將它打包成應用程序,就是可以在別的電腦直接點擊了就運行 具體點,謝謝了
DotNet(C# )系統安裝程序製作StepByStep(包括FrameWork安裝和資料庫安裝...
如果你的程序不涉及資料庫,則跳過資料庫的部分。
首先需要把你要建立的資料庫表結構導出來,使用slqserver的導出向導導出表結構,先保存到db.sql文件中吧。
可選步驟:安裝Framework引導程序插件。
安裝了這個插件你製作的安裝包就通過 Microsoft Visual Studio .NET 2003 引導程序插件,您可以輕而易舉地創建安裝程序,將 .NET Framework 1.1隨您的應用程序一起重新分發。
引導程序插件 PluginInstaller.msi 的下在地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=627921a0-d9e7-43d6-a293-72f9c370bd19&displaylang=zh-cn
第一步:創建部署項目
1. 在「文件」菜單上指向「添加項目」,然後選擇「新建項目」。
2. 在「添加新項目」對話框中,選擇「項目類型」窗格中的「安裝和部署項目」,然後選擇「模板」窗格中的「安裝項目」。在「名稱」框中鍵入 Setup。
3. 單擊「確定」關閉對話框。
4. 項目被添加到解決方案資源管理器中,並且文件系統編輯器打開。
第二步:創建安裝程序類
1. 在「文件」菜單上指向「新建」,然後選擇「項目」。
2. 在「新建項目」對話框中,選擇「項目類型」窗格中的「項目」,然後選擇「模板」窗格中的「類庫」。在「名稱」框中鍵入 DBCustomAction。
3. 單擊「打開」關閉對話框。
4. 從「項目」菜單中選擇「添加新項」。
5. 在「添加新項」對話框中選擇「安裝程序類」。在「名稱」框中鍵入 DBCustomAction。
6. 單擊「確定」關閉對話框。(代碼附後)
第三步:將項目的輸出添加到部署項目中
1. 在「文件系統編輯器」中,選擇「應用程序」文件夾。在「操作」菜單上,指向「添加」,然後選擇「項目輸出」。
2. 在「添加項目輸出組」對話框中,選擇「項目」下拉列表中你的項目。
3. 單擊「確定」關閉對話框。
4. 從列表中選擇「主輸出」,然後單擊「確定」。
第四步:創建自定義安裝對話框
1. 在解決方案資源管理器中選擇「Setup」項目。在「視圖」菜單上指向「編輯器」,然後選擇「用戶界面」。
2. 在用戶界面編輯器中,選擇「安裝」下的「啟動」節點。在「操作」菜單上,選擇「添加對話框」。
3. 在「添加對話框」對話框中,選擇「許可協議」對話框,然後單擊「確定」關閉對話框。
4. 在「添加對話框」對話框中,選擇「文本框 (A)」對話框,然後單擊「確定」關閉對話框。
5. 在「操作」菜單上,選擇「上移」。重復此步驟,直到「文本框 (A)」對話框位於「安裝文件夾」節點之上。
6. 在「屬性」窗口中,選擇 BannerText 屬性並鍵入:安裝資料庫.。
7. 選擇 BodyText 屬性並鍵入:安裝程序將在目標機器上安裝資料庫。
8. 選擇 Edit1Label 屬性並鍵入:資料庫名稱:。
9. 選擇 Edit1Property 屬性並鍵入 CUSTOMTEXTA1。
10. 選擇 Edit1Value 屬性並鍵入:GsCrm。
11. 選擇 Edit2Label 屬性並鍵入:伺服器名:。
12. 選擇 Edit2Property 屬性並鍵入 CUSTOMTEXTA2。
13. 選擇 Edit2Value 屬性並鍵入:(local)。
14. 選擇 Edit3Label 屬性並鍵入:用戶名:。
15. 選擇 Edit3Value 屬性並鍵入:sa。
16. 選擇 Edit3Property 屬性並鍵入 CUSTOMTEXTA3。
17. 選擇 Edit4Label 屬性並鍵入:sa用戶密碼:。
18. 選擇 Edit4Property 屬性並鍵入 CUSTOMTEXTA4。
第五步:創建自定義操作
1. 在解決方案資源管理器中選擇「Setup」項目。在「視圖」菜單上指向「編輯器」,然後選擇「自定義操作」。
2. 在自定義操作編輯器中選擇「安裝」節點。在「操作」菜單上,選擇「添加自定義操作」。
3. 在「選擇項目中的項」對話框中,雙擊「應用程序文件夾」。
4. 選擇「主輸出來自 DBCustomAction(活動)」項,然後單擊「確定」關閉對話框。
5. 在「屬性」窗口中,選擇 CustomActionData 屬性並鍵入 /dbname=[CUSTOMTEXTA1] /server=[CUSTOMTEXTA2] /user=[CUSTOMTEXTA3] /pwd=[CUSTOMTEXTA4] /targetdir="[TARGETDIR]\"。
附/targetdir="[targetdir]\"是安裝後的目標路徑,為了在dbcustomaction類中獲得安裝後的路徑,我們設置此參數。
另外,安裝後的路徑也可以通過Reflection得到:
Dim Asm As System.Reflection.Assembly = _
System.Reflection.Assembly.GetExecutingAssembly
MsgBox("Asm.Location")
第六步:添加db.sql以及你需要的其他文件到項目中,然後就可以打包了。
還 有最重要的一個問題,當時困擾了我三個多小時,就是用.net這個程序打包的程序,安裝過程用戶所選擇的安裝路徑中是不能含有空格的。為什麼呢?原來是 sql server的osql的執行命令行方式的時候,如果你的安裝路徑中含有空格的話,那個命令行是不能正確的執行的。「osql -U userId -P password -d dbname -i c:\test\db.sql」
另外安裝的時候也可以直接修改安裝後的app.config來完成你的配置,李洪根的文章中有相關介紹。
DBCustomAction.cs
using System;
using System.Data.SqlClient;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;
namespace DBCustomAction
{
/// <summary>
/// DBCustomAction 的摘要說明。
/// </summary>
[RunInstaller(true)]
public class DBCustomAction : System.Configuration.Install.Installer
{
/// <summary>
/// 必需的設計器變數。
/// </summary>
private System.ComponentModel.Container components = null;
public DBCustomAction()
{
// 該調用是設計器所必需的。
InitializeComponent();
// TODO: 在 InitializeComponent 調用後添加任何初始化
}
/// <summary>
/// 清理所有正在使用的資源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region 組件設計器生成的代碼
/// <summary>
/// 設計器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內容。
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
}
#endregion
private void ExecuteSql(string connStr,string DatabaseName, string Sql)
{
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand(Sql, conn);
conn.Open();
conn.ChangeDatabase(DatabaseName);
try
{
cmd.ExecuteNonQuery();
}
finally
{
conn.Close();
}
}
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
try
{
//------------------------建立資料庫----------------------------
string connStr = string.Format("data source={0};user id={1};password={2};persist security info=false;packet size=4096", this.Context.Parameters["server"], this.Context.Parameters["user"], this.Context.Parameters["pwd"]);
ExecuteSql(connStr, "master", "CREATE DATABASE " + this.Context.Parameters["dbname"]);
System.Diagnostics.Process sqlProcess = new System.Diagnostics.Process();
sqlProcess.StartInfo.FileName = "osql.exe";
sqlProcess.StartInfo.Arguments = string.Format(" -U {0} -P {1} -d {2} -i {3}db.sql", this.Context.Parameters["user"], this.Context.Parameters["pwd"], this.Context.Parameters["dbname"], this.Context.Parameters["targetdir"]);
sqlProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
sqlProcess.Start();
sqlProcess.WaitForExit(); //等待執行
}
catch(Exception e)
{
Console.Write(e.ToString());
}
finally
{
}
}
}
}
第六步:添加db.sql以及你需要的其他文件到項目中,然後就可以打包了。
還 有最重要的一個問題,當時困擾了我三個多小時,就是用.net這個程序打包的程序,安裝過程用戶所選擇的安裝路徑中是不能含有空格的。為什麼呢?原來是 sql server的osql的執行命令行方式的時候,如果你的安裝路徑中含有空格的話,那個命令行是不能正確的執行的。「osql -U userId -P password -d dbname -i c:\test\db.sql」
另外安裝的時候也可以直接修改安裝後的app.config來完成你的配置,李洪根的文章中有相關介紹。
DBCustomAction.cs
using System;
using System.Data.SqlClient;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;
namespace DBCustomAction
{
/// <summary>
/// DBCustomAction 的摘要說明。
/// </summary>
[RunInstaller(true)]
public class DBCustomAction : System.Configuration.Install.Installer
{
/// <summary>
/// 必需的設計器變數。
/// </summary>
private System.ComponentModel.Container components = null;
public DBCustomAction()
{
// 該調用是設計器所必需的。
InitializeComponent();
// TODO: 在 InitializeComponent 調用後添加任何初始化
}
/// <summary>
/// 清理所有正在使用的資源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region 組件設計器生成的代碼
/// <summary>
/// 設計器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內容。
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
}
#endregion
private void ExecuteSql(string connStr,string DatabaseName, string Sql)
{
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand(Sql, conn);
conn.Open();
conn.ChangeDatabase(DatabaseName);
try
{
cmd.ExecuteNonQuery();
}
finally
{
conn.Close();
}
}
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
try
{
//------------------------建立資料庫----------------------------
string connStr = string.Format("data source={0};user id={1};password={2};persist security info=false;packet size=4096", this.Context.Parameters["server"], this.Context.Parameters["user"], this.Context.Parameters["pwd"]);
ExecuteSql(connStr, "master", "CREATE DATABASE " + this.Context.Parameters["dbname"]);
System.Diagnostics.Process sqlProcess = new System.Diagnostics.Process();
sqlProcess.StartInfo.FileName = "osql.exe";
sqlProcess.StartInfo.Arguments = string.Format(" -U {0} -P {1} -d {2} -i {3}db.sql", this.Context.Parameters["user"], this.Context.Parameters["pwd"], this.Context.Parameters["dbname"], this.Context.Parameters["targetdir"]);
sqlProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
sqlProcess.Start();
sqlProcess.WaitForExit(); //等待執行
}
catch(Exception e)
{
Console.Write(e.ToString());
}
finally
{
}
}
}
}
『貳』 如何打包發布Web Application應用程序
下載安裝MyEclipse2014,Android SDK,eclipse(需配置Android開發環境)
Java和Android環境安裝與配置,將另寫經驗分享,讀者也可網路參考其他相關資料,自行安裝
打開MyEclipse2014,新建一個HTML5 Mobile Application Project,命名,例如:hello
html5程序在工程www目錄下編輯;
編輯好我們的html5程序,下面就要開始學習打包了
這里介紹兩種打包方式:1、PhoneGap Build Service 打包
PhoneGap官網有相關教程可參考,不具體介紹
2、android SDK +eclispe 打包
android SDK +eclispe 打包(前提已配置好,android開發環境):
Step1、啟動eclipse,新建Android Application Project,即Android工程,命名,例如:hello
Step2、將前面Myeclipse2014中編輯好的HTML5程序(www整個目錄)拷至剛剛在eclipse新建hello工程對應assets目錄下面
Step3、下面要做的就是如何將我們的HTML5程序在Android應用中啟動,這里我們要使用Android系統自帶的WebView控制項(具體信息參考Adroid開發文檔)---在工程下找到res->layout->activity_main.xml並打開,向裡面插入WebView控制項,編輯好自己想要的樣式
Step4、在主程序入口,用剛剛編輯好的WebView控制項將HTML5程序引入,此時,主體功能已實現,編譯工程即可得到apk
『叄』 安卓系統下安裝完apk程序後,具體的文件夾位置在哪裡呢
有的程序的文件夾是自動建立在sd卡上的,有的程序是沒有文件夾的,程序位於date/app文件夾內,而系統的程序位於system/app文件夾內。
軟體安裝完成後,就會在date/app目錄出現一個apk文件。
這個文件相當於windows下exe安裝完成後在c盤生成的安裝文件夾里的一樣,只不過安卓環境下只是一個apk文件(有的還另外會在sd卡自動建立一個用於該程序存放數據的文件夾)
而windows環境下是一個包含有exe啟動文件的文件夾,你不能把apk從那個目錄刪除,就像你把c盤的某個安裝路徑文件夾里的.exe文件刪除一樣,你就不能啟動該程序了,另外,system/app里放的是系統自帶的程序,就像是windows自帶的office程序類似。
注意apk文件總是相當於電腦里的setup安裝文件,所以你不能把apk文件再在date/app里打開,因為它已經安裝完畢了,所以提示是否替換。
(3)打包應用程序在哪裡擴展閱讀:
安裝幫助
一.錯誤解決
1.提示:文件受損
說明:安裝程序文件被破壞或者不完整.有可能是在程序下載或者解壓縮時引起的文件破壞.
解決:請確定下載的程序文件完整性.網路不好也會損壞下載文件,建議再次下載或解壓縮程序再試.
2.提示:無任何提示,運行無反映
說明:一般是中文文件名的JAR程序出現這種情況.
解決:刪除掉已經安裝的JAR程序,將JAR程序文件名改為全英文之後再試.
3.提示:手機啟動失敗,請與零售商聯系
說明:一般是某個程序安裝失敗後重啟手機時出現這個提示,也有部分是升級機器時失敗導致.
解決:如果是某個程序安裝失敗,那麼只需要將存儲卡拿出來,然後再次啟動機器.並將安裝錯誤的程序刪除掉即可.如果是手機升級後出現,那麼就只有重新格機了.需要注意的是:一些開機啟動並常駐內存的軟體是無法通過格式化解決的.所以,軟格前先需要把這些軟體全部關閉或刪除.
4.問題:jar程序安裝打不開
說明:特別注意,JAR程序下載後不能改中文名再安裝,否則會打不開,只能起英文名和數字!
解決:刪除已安裝程序,再把安裝包重命名為英文或數字重新安裝.
5.問題:打開程序時提示運存或儲存空間不足!
說明:正在運行的程序太多或開機太久
解決:可以關閉一些程序或重起手機再打開程序,或查看手機儲存是否太小,可以移動一些自己的文件到卡里增加手機空間!
6.問題:下載程序解析度不合適該屏幕
說明:1.資源分類出錯 2.資源本身支持問題
解決:重新設置機型下載.
7.問題:在運行中提示出錯
說明:1.資源本身的BUG 2.手機平台支持問題 3.運行內存不足
解決:可以找一個高版本或重新開機再試試
『肆』 怎樣用vs給應用程序打包
打開VS,點擊新建項目,選擇:其他項目類型->安裝與部署->安裝向導(安裝項目也一樣),然後點擊確定。 2 安裝向導關閉後打開安裝向導,點擊下一步,或者直接點擊完成。 3 開始製作安裝向導完成後即可進入項目文件夾: 雙擊"應用程序文件夾"在右邊的空白處右擊,選擇添加->文件,將你的做的應用程序的可執行文件和相應的類庫和組件添加進來。然後右擊你的文件,創建快捷方式,然後把快捷方式分別復制或剪切到左邊的"用戶的'程序'菜單"和"用戶桌面"中。這樣安裝程序安裝完成後會在 "開始->所有程序"和"桌面"上生成程序的快捷方式。也可以直接在"用戶的'程序'菜單"和"用戶桌面"相應目錄下新建快捷方式,然後定位到你的文件。 然後右擊左邊的"應用程序文件夾"打開屬性對話框:將屬性中的"DefaultLocation"的路徑中的"[Manufacturer]"去掉,不然的話做好的安裝程序默認安裝目錄會是"C:\Program Files\你的用戶名\安裝解決方案名稱"; 然後打開解決方案管理器,右擊你的解決方案名稱,選擇屬性:打開的屬性頁中,選擇"系統必備", 在打開的系統必備頁中,在"指定系統必備安裝組件的位置"中選中如下選擇項:從與我的應用程序相同的位置下載系統必備組件。選上以後,在生成的安裝文件包中包含.NetFramework組件 。好了,這樣就完成99%了,然後點擊"生成->生成解決方案",哈,生成成功!4 製作完成現在打開解決方案文件夾下的Debug文件夾,就可以看到生成的安裝文件了。 補充: 5 關於"卸載"功能的添加 上面只介紹了簡單的生成安裝的方法,但是在VS2005下並沒有直接生成卸載程序的功能,所以我們只好用msi來實現了,操作方法如下: 在添加你的應用程序項目的時候,多添加一個msiexec.exe進去,這個文件在c:\windows\system32文件夾下,添加進去以後,為了讓他更像個卸載程序,把他的名字改成"Uninstall.exe",當然這個關系不大,改不改都行。 然後創建一個快捷方式,放到"開始-程序"中,接下來我們要做的就是查找這個部署項目的ProctCode了,滑鼠左鍵單擊項目名稱,記住是左鍵單擊,然後點擊屬性標簽,注意:不是右擊的屬性,這個區別很大,這時你就可以看到ProctCode了。 然後打開你創建的那個快捷方式的屬性對話框,在Aguements屬性中輸入"/x {ProctCode}",好了,然後點擊"生成解決方案"即可生成帶有卸載功能的安裝程序了。 我自己做的時候就是這樣操作的~~打包的是一個C語言程序~~你自己試試吧
『伍』 如何將一個java應用程序打包成.exe
1.以netbeans 7.1.1中的java項目為例,啟動netbeans 7.1.1,並在裡面打開自己需要打包成exe的java項目
2.選中該項目,調試確保通過無錯誤之後,點擊工具欄上面的「清理並生成」按鈕
很快netbeans就能為我們生成一個jar的包了,具體路徑可以查看輸出窗口獲得。一般是位於項目文件夾的dist目錄下,記住這個jar文件的所在位置
『陸』 c#應用程序打包技巧問題
你打包的時候有應用程序文件夾,點滑鼠右鍵,添加,有多種添加,可以添加項目輸出,可以添加文件夾,可以添加文件等等,你直接添加文件就行了那麼可以把你的哪個dll文件一起打包
『柒』 visual studio2010怎麼打包在手機運行
打開Visual Studio 2010,點擊菜單欄-->文件-->新建-->項目,打開新建項目對話框
選擇其他項目類型-->安裝和部署,選擇一個,然後選擇安裝項目,自己起個安裝包名稱,並指定安裝包存放路徑
進入打包程序製作界面,點擊應用程序文件夾,在右邊空白處右鍵添加文件,找到你項目生成的Release文件夾下的文件,並導入你所需要打包的文件
項目快捷方式的創建,在導入的文件中,右鍵點擊可執行文件,添加快捷方式,然後把該快捷方式分別復制到 用戶的「程序」菜單 和用戶桌面 文件下,如圖所示
順便給快捷方式添加圖標,右擊放添加的快捷方式-->屬性窗口找到icon點擊添加圖標
以上添加好後,在「解決方案管理器"中解決方案名稱(本程序是Setup1)上右擊打開屬性窗口,找到系統必備,點進去,選擇需要的.net框架版本,我這里是3.5的,另把組件安裝位置,可以根據需要選擇相應的,我這里選擇從應用程序相同位置下載系統必備組件,添加完後仍在"解決方案管理器"中解決方案名稱(本程序是Setup1)上右擊視圖-->啟動條件,選擇好相應.net版本
為程序添加卸載功能,我是在c:/windows/system32文件夾下,把msiexec.exe拷貝過來導入「應用程序文件夾」並重新命名為unstall.exe並創建快捷方式放入,用戶的「程序」菜單文件夾下,單機項目名稱-->右邊屬性找到ProctCode項,復制ProctCode里內容,然後打開你創建的程序里的卸載快捷方式的屬性對話框,找到Arguments輸入「/x剛復制的ProctCode內容」保存
檢查要打包的文件是否都添加完成,確認無誤後,點擊Setup1右鍵生成解決方案,找到一開始設置的打包文件存放位置Setup1.msi即生成的打包程序,雙擊即可安裝,至此打包程序已經製作完成
『捌』 VB6.0如何給編寫好的軟體打包
(1)打開VB6.0 IDE,載入你的工程,單擊「外接程序」菜單下的「外接程序管理器」。
(2)在彈出的窗體中選擇「打包和展開向導」(最後一項),在載入行為中選擇「載入/卸載」,確定。
(3)再次單擊「外接程序」菜單項,單擊「打包和展開向導」。
(4)單擊「打包」,選擇「標准安裝包」,一直單擊下一步,最後點「完成」,點「關閉」。
(5)此時你的工程文件夾下會有一個名為「包」的文件夾。
(6)單擊「展開」,單擊下一步(2個),此時詢問「您希望在哪裡展開這個包?」,單擊「新建文件夾」
在電腦中其他位置新建一個文件夾,單擊下一步,點「完成」,點「關閉」。
(7)關閉「打包和展開向導」。
(8)在剛才建立的文件夾下就是安裝程序了!(三個文件:工程名.cab setup.exe setup.lst)^_^
注意:如果在其他機器上安裝時提示「需要重新啟動」,通常是你的程序中引用的資源路徑不正確,請用App.path等絕對路徑,如還不行,可能是一些.dll文件版本不兼容或不存在等其它原因,請在打包時載入你用到的所有的庫
『玖』 ios 如何打包app
你的意思是打ipa包吧。
1、用xcode真機編譯一下程序。
2、在左側最下面有xxxxx.app文件,右鍵「show in finder」
3、將finder中的這個.app文件拖拽到itunes圖標上
4、打開itunes,選擇應用程序(不是手機的應用程序)就能看到這個程序了
5、右鍵該圖標「show in finder」,就找到這個ipa包了。
望採納,謝謝
『拾』 如何把應用程序打包呀
web程序要用InstallAnywhere,installshiled我沒用過
InstallAnywhere能自動把jre打進去,這樣即使客戶端沒有java環境也能運行的
至於tomcat,和jdk等具體方法如下:
tomcat要下載解壓就能用的,不要安裝程序。
jdk直接考貝安裝後的就可以,不要用安裝程序安裝的jdk
不用把環境變數加到windows中,你要手動的配置tomcat和jdk的關系
把網站文件直接放到tomcat的相關目錄。
你做安裝程序的時候做個鏈接到startup.bat的鏈接,這樣就可以運行伺服器了。
接下來就可以訪問網頁了