2010-01-06 10 views
6

Tôi muốn tạo một ứng dụng dựa trên cửa sổ trong C# để chúng tôi có thể chạy nó mà không cần cài đặt ứng dụng vào mỗi và mọi hệ thống. Nó cũng cần kết nối ứng dụng đó thông qua cơ sở dữ liệu.Tạo ứng dụng Desktop (cửa sổ) có thể chạy mà không cần cài đặt?

Tôi muốn tạo ứng dụng này để ứng dụng có thể chạy trực tiếp thông qua pendrive và cũng có thể ghi vào cơ sở dữ liệu.

Tôi biết cách làm việc với cơ sở dữ liệu mặc dù ứng dụng cửa sổ nhưng chỉ với trình cài đặt.

Tôi đã tạo nhiều ứng dụng cửa sổ nhưng tất cả chạy trên máy khách sau Cài đặt thiết lập được triển khai. Nhưng bây giờ tôi muốn khách hàng không cần cài đặt thiết lập được triển khai. Anh ta có thể sử dụng ứng dụng của tôi bằng cách trực tiếp nhấn tập tin thực thi của tôi

Trả lời

13

Không có gì trong Windows yêu cầu cài đặt ứng dụng. Điều đó nói rằng, cài đặt được thiết kế để:

  • Làm cho mọi thứ đơn giản hơn cho người dùng cuối.
  • Thiết lập đăng ký, thường cho thông tin đường dẫn và thông tin gỡ cài đặt.
  • Khởi tạo bất kỳ thông tin ban đầu nào mà phần mềm có thể cần trước khi chạy lần đầu tiên.

Chỉ đơn giản là tránh sử dụng đăng ký và lưu tệp cục bộ vào ứng dụng của bạn thường đủ để ứng dụng của bạn có thể di chuyển.

Điều đó cho biết, miễn là bạn cho phép người dùng chọn vị trí cơ sở dữ liệu trong phần mềm của bạn, bạn sẽ ổn thôi. Lưu thông tin trên ổ đĩa bút, trong một tệp .ini chẳng hạn, sẽ cho phép mỗi máy tính bạn cắm vào để đọc các cài đặt tương tự này.

Nếu bạn mong đợi mỗi máy tính có một chuỗi kết nối khác biệt với cơ sở dữ liệu, bạn có thể lưu cài đặt của mình vào thư mục %appdata%. Khi người dùng cắm lại ổ đĩa vào sau, cài đặt của anh ấy sẽ vẫn ở đó và không người dùng nào khác sẽ thấy các cài đặt tương tự này.

Nhược điểm của phương pháp thứ hai, tuy nhiên, người dùng không có cách nào để "gỡ cài đặt" và khôi phục không gian được ghi thành %appdata% tự động. Tuy nhiên, đối với hầu hết các ứng dụng doanh nghiệp tư nhân, đây không phải là một mối quan tâm lớn.


Sửa: Nếu câu hỏi thực sự của bạn ở đây là làm thế nào để phân phối một ứng dụng mà không cần một trình cài đặt, chỉ đơn giản là xây dựng các phiên bản phát hành của ứng dụng của bạn, và tìm kiếm trong /bin/Release/ trong dự án của bạn. Sao chép các tệp này sang một vị trí khác, xóa bất kỳ tệp gỡ lỗi hoặc tệp không cần thiết nào và đảm bảo bạn có tất cả các phụ thuộc của bạn theo thứ tự.

+0

@Will Eddins: thx Eddin, Nếu tôi không hiểu sai, bạn có ý nói gì không. Thực hiện theo cách truyền thống của tôi phát triển ứng dụng cửa sổ và xử lý các tập tin exe được tạo ra tại thư mục bin như đã đề cập bởi u cho khách hàng. ? –

+0

Chính xác. Sao chép các tập tin vào một ổ đĩa flash, chắc chắn rằng họ làm việc trên một máy tính khác (mà bạn không thiếu một DLL), và phân phối đi. –

+0

@Will Eddins Thx, Sẽ quay lại để chấp nhận câu hỏi này sau khi triển khai thực tế điều này. Tôi sẽ đảm bảo rằng Khung và các tệp cần thiết khác có mặt –

0

Nếu bạn chỉ muốn kết nối với một cơ sở dữ liệu, bạn có thể làm điều đó trong EXE mà không cần bất kỳ loại trình cài đặt cần thiết. Làm thế nào được thực hiện sẽ phụ thuộc vào cơ sở dữ liệu đó là gì, và cách bạn kết nối với nó, nhưng nói chung mục yêu cầu mã hóa trong EXE (hoặc trong một tệp XML phía ngoài mà EXE có thể đọc) là một chuỗi kết nối . Chuỗi kết nối này có lẽ là những gì trình cài đặt đang quản lý.

Một hướng dẫn tốt về xây dựng ứng dụng Windows đầu tiên của bạn trong C# có thể được tìm thấy ở đây: http://msdn.microsoft.com/en-us/library/360kwx3z.aspx

+0

Tôi biết cách tương tác với cơ sở dữ liệu, nhưng tôi cũng cần ứng dụng cửa sổ. Vì vậy, bất kỳ người dùng nào cũng có thể nhập dữ liệu qua giao diện GUI –

+0

Vì vậy, hãy xây dựng một. Nếu bạn đang sử dụng Visual Studio hoặc Visual Studio Express, hãy chọn "Ứng dụng Windows" từ hộp thoại Tệp/Mới. –

+0

Bắt đầu tại đây: http://msdn.microsoft.com/en-us/library/360kwx3z.aspx –

0

Nếu bạn không biết ở đâu và làm thế nào để bắt đầu áp dụng hình thức sổ hoặc làm thế nào để kết nối với cơ sở dữ liệu hoặc lâu hơn, có những hướng dẫn rất nhiều và bạn có thể Google cho nó rất dễ dàng;)

Dưới đây là vài ví dụ:

GUI liên quan:

Tutorial: Working with Windows Forms - Part I

GUI Windows Forms « C#/CSharp Tutorial

Windows Forms tutorial with C#

Cơ sở dữ liệu liên quan:

Creating a database connection

0

Hình thức cài đặt đơn giản nhất; sử dụng if if else; khi ứng dụng bắt đầu, nó sẽ kiểm tra một số khóa registry (cho phép nói, cài đặt = thực hiện), nếu giá trị của khóa đăng ký là = "thực hiện", sau đó chạy phần khác, có nghĩa là chạy ứng dụng. Nếu "notdone" của nó, sau đó thiết lập tất cả các thiết lập ban đầu và sau đó chạy ứng dụng. Một giả sẽ như sau:

if(HasValidRegistryKeys()) //Check if initial settings are already there 
{ 
    Runnable=true; 
} 
else 
{ 
//Not installed, lets setup app settings 
//Assume that the application is running for the first time. 
try 
{ 
    SetupRegistry(); //Set installation=done 
    SetupDatabase(); 
    //Setup more things. 
    Runnable=true; 
} 
catch() 
{Runnable=false;} 

} 

//Run the app 
if(Runnable) 
{ 
    RunApp(); 
} 
else 
{ 
    MessageBox.Show("Some error"); 
}