2012-07-09 120 views
1

我有一個應用程序的可執行文件包(.exe)。如何將此可執行文件轉換爲MSI包?將EXE文件轉換爲XML

我知道使用以下方式將.msi轉換爲.wxs。

dark.exe installer.msi 
+3

我不認爲這個問題可以用這種一般形式來回答。這需要我們考慮像手寫安裝程序這樣的東西,它肯定不能自動轉換成適當的MSI數據庫? MSI也有一些限制(如有限的GUI選項,並且不能安裝第二個MSI作爲安裝的一部分),這些限制不適用於exe。因此,瞭解exe是如何生成的非常重要。 – 2012-07-09 08:33:04

+0

是的,通常轉換設置更像是從頭開始創建設置。沒有共同的祕訣。 – 2012-07-09 18:21:40

回答

2

這是一個很棒的小迷你教程。這可能是你所需要的:

1)創建維克斯XML文件

EXAMPLE: 
<?xml version="1.0"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
</Wix> 

2)建立一個MSI爲您的.exe

EXAMPLE: 
candle example.wxs 
light example.wixobj 

3)瞧。如果沒有比「安裝.exe」更復雜的東西,那就完成了! 將.msi帶入不同的PC並進行測試。

上面的鏈接還討論了其他場景,如果你需要它們的話。例如:

ANOTHER, MORE REALISTIC .WIX FILE: 
<?xml version="1.0"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Product Id="*" UpgradeCode="12345678-1234-1234-1234-111111111111" 
      Name="Example Product Name" Version="0.0.1" Manufacturer="Example Company Name" Language="1033"> 
     <Package InstallerVersion="200" Compressed="yes" Comments="Windows Installer Package"/> 
     <Media Id="1" Cabinet="product.cab" EmbedCab="yes"/> 

     <Directory Id="TARGETDIR" Name="SourceDir"> 
     <Directory Id="ProgramFilesFolder"> 
      <Directory Id="INSTALLDIR" Name="Example"> 
       <Component Id="ApplicationFiles" Guid="12345678-1234-1234-1234-222222222222"> 
        <File Id="ApplicationFile1" Source="example.exe"/> 
       </Component> 
      </Directory> 
     </Directory> 
     </Directory> 

     <Feature Id="DefaultFeature" Level="1"> 
     <ComponentRef Id="ApplicationFiles"/> 
     </Feature> 
    </Product> 
</Wix> 

這裏是 「標準」 的教程,與很多其它信息:

苯教晚報(在加州至少在這裏;))

'希望有所幫助!

+0

:感謝您的幫助,我知道如何開始創建.msi但是我會更感興趣知道如果我有一個.exe的應用程序,我想解碼成像C++這樣有用的可讀源doe格式,或者有關的東西,這將有助於 – 2012-07-15 18:39:46

1

使用UniExtract從EXE中提取MSI,然後對MSI應用黑暗。

+0

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/11999818) – pczeus 2016-04-14 01:46:41

+0

@pczeus這是UniExtract的下載頁面。我應該包括什麼? – Edgar 2016-04-14 06:10:43