2009-02-11 25 views

Trả lời

24

Có, bạn có thể tạo trình cài đặt tự giải nén chứa cả MSI và tệp bootstrapper setup.exe.

Tôi nghĩ rằng có thể làm điều đó với WinZip, hoặc bạn có thể sử dụng IExpress đến với Windows. Đây là hướng dẫn cách tạo a self-extracting executable with IExpress. Bạn có thể sử dụng thuật sĩ IExpress hoặc viết thủ công tệp cấu hình mà sau đó bạn có thể thực hiện trong bước được xây dựng sau của dự án thiết lập của mình, ví dụ: bằng cách gọi tập tin cấu hình

IExpress /N /Q MySetup.sed 

Một mẫu sẽ trông như thế này:

[Version] 
Class=IEXPRESS 
SEDVersion=3 
[Options] 
PackagePurpose=InstallApp 
ShowInstallProgramWindow=1 
HideExtractAnimation=1 
UseLongFileName=1 
InsideCompressed=0 
CAB_FixedSize=0 
CAB_ResvCodeSigning=0 
RebootMode=N 
InstallPrompt=%InstallPrompt% 
DisplayLicense=%DisplayLicense% 
FinishMessage=%FinishMessage% 
TargetName=%TargetName% 
FriendlyName=%FriendlyName% 
AppLaunched=%AppLaunched% 
PostInstallCmd=%PostInstallCmd% 
AdminQuietInstCmd=%AdminQuietInstCmd% 
UserQuietInstCmd=%UserQuietInstCmd% 
SourceFiles=SourceFiles 
[Strings] 
InstallPrompt= 
DisplayLicense= 
FinishMessage= 
TargetName=MySetup.exe 
FriendlyName=My cool application 
AppLaunched=CMD /C setup.exe 
PostInstallCmd= 
AdminQuietInstCmd= 
UserQuietInstCmd= 
FILE0="setup.exe" 
FILE1="MySetup.msi" 
[SourceFiles] 
SourceFiles0= 
[SourceFiles0] 
%FILE0%= 
%FILE1%= 

Có một chút caveat tuy nhiên với các kịch bản cài đặt self-extracting. Do một sửa chữa các kịch bản này là broken với bootstrapper (setup.exe) được tạo bởi VS2008 SP1. Để biết cách giải quyết, hãy xem chuỗi sau: http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686/?ffpr=0.

+0

Không làm việc với VS.NET 2008 Cài đặt Bootstrapper. – Martin

+0

Có, nó không hoạt động do lỗi. Xem liên kết mà tôi đã đăng (http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686/?ffpr=0) để giải quyết. –

+0

Dòng PostInstallCmd trong [Chuỗi] sẽ đọc PostInstallCmd = , nếu không nó sẽ cung cấp cho bạn thông báo "lỗi tạo quy trình" khi cài đặt hoàn tất. –

2

Tôi thích nó, bạn có thể xem cách sử dụng IExpress trên this link!

Vấn đề duy nhất tôi thấy là tôi đã tạo trình cài đặt trên Windows Vista 64bits, tôi đã cố gắng cài đặt .exe được tạo trong máy chủ với Windows Server 2008 32 bit, nhưng nó phát ra lỗi về loại bộ xử lý.

+4

Tôi chạy vào này là tốt, bạn có thể sửa chữa nó bằng cách chạy C: \ Windows \ SysWoW64 \ IExpress.exe thay vì một trong C: \ Windows \ System32. Bằng cách đó, nó sẽ luôn tạo ra một exe 32 bit. –

Các vấn đề liên quan