2011-09-20 182 views
1

C#,Visual studio 2010Visual Studio 2010安裝項目[ProductName]

我有一個應用程序項目和連接到應用程序的安裝項目。 在Setup projects屬性中,我已將ProductName屬性設置爲MyApp。

我在應用程序文件夾兩個環節(安裝項目), 一個啓動項目,一個用於卸載

我使用創建的應用程序文件夾中的卸載程序鏈接的技術通過 開始我的應用程序用標誌和應用產品這樣的代碼 --uninstall [產品代碼]

  1. 我不能使用[產品名稱]作爲鏈接的名稱來啓動應用程序,這是爲什麼? 如果這樣,安裝項目將在開始菜單 下的應用程序文件夾中創建一個名稱爲[ProductName]而不是「MyApp」的鏈接。

  2. 如何本地化「刪除鏈接」,今天我將卸載程序鏈接命名爲「刪除MyApp」? 我希望那就是有可能做這樣的事情「strings.Remove [產品名稱]」

  3. 是否有可能安裝項目以這樣的方式我MyApp項目的 安裝項目獲取應用程序名稱連接,MyApp項目中的版本號等。 像ProjectName = MyApp.properties.Application.AssemblyName

/斯特凡


我明白了,謝謝你的answear

你爲什麼不使用msiexec.exe的命令行此 設置屬性

我正在使用t他MSIEXEC,我調用它在我的應用程序App類這樣

  sComLine = CommandLine.CL.get("uninstall"); // Check command line if the --uninstall [ProductCode] is given 
      if (sComLine != null) 
      { 
       string path = Environment.GetFolderPath(Environment.SpecialFolder.System); 
       System.Diagnostics.ProcessStartInfo uninstallProcess = new System.Diagnostics.ProcessStartInfo(path + System.IO.Path.DirectorySeparatorChar + "msiexec.exe", "/x " + sComLine); 
       System.Diagnostics.Process.Start(uninstallProcess); 
       System.Windows.Application.Current.Shutdown(); 
      } 

回答

1

我用用標誌開始我的應用程序創建的 應用程序文件夾中的卸載程序鏈接的技術和 應用產品這樣的代碼--uninstall [ProductCode]

爲什麼不使用msiexec.exe命令行?也許這線程將幫助:

In a Visual Studio setup project, How do I generate an uninstall script?

我不能使用[產品名稱]作爲鏈接的名稱來啓動 應用程序,這是爲什麼?如果是這樣,安裝項目將在開始菜單下的應用程序文件夾中創建一個名稱爲 [ProductName]而不是「MyApp」的 鏈接。

快捷方式名稱不支持安裝程序屬性。這是Windows Installer中的限制。所以這個名字必須是一個硬編碼的值。

我如何本地化 「刪除鏈接」

這不是由Visual Studio支持。它只能在提供本地化支持的設置創作工具中完成。

是否有可能安裝項目與我MyApp項目在 數 這樣的方式安裝項目獲取應用程序名稱,版本等從MyApp項目連接代替。

不,這不受Visual Studio支持。作爲一個方面說明,您的應用程序版本可能並不總是與您的軟件包版本相同。通常最好將它們分開。

+0

我明白了,謝謝你的回覆 –