我使用2010 InstallShield的版本,如果有人知道如何做想知道以下幾點:的InstallShield - 獲取文件
我想我的安裝程序中我主要的exe文件的版本,並使它的名字我的setup.exe InstallShield正在生成。任何想法如何做到這一點?
我使用2010 InstallShield的版本,如果有人知道如何做想知道以下幾點:的InstallShield - 獲取文件
我想我的安裝程序中我主要的exe文件的版本,並使它的名字我的setup.exe InstallShield正在生成。任何想法如何做到這一點?
我能夠使用自動化服務來完成這一點,這是InstallShield的編程接口。每當我在Visual Studio中爲我的exe構建我的項目時,我會在Post-build中運行一個exe,將InstallSheild項目設置爲相同的版本。
有幾種方法可以做到這一點....這取決於你的IS項目類型(MSI,InstallScript中,等)
1)創建一個變量如PRODUCT_NAME在屬性管理器,將其設置成您的installscript並檢索它以修改* .exe名稱
2)使用SQL,可以通過編程方式獲取product_name並設置* .exe名稱。搜索直接編輯器(安裝設計器 - >其他工具 - >直接編輯器)以獲取所需表格/值的確切位置。例如(下文),使用VBScript,我修改了我拉入IS項目的文件的安裝根目錄的路徑。同樣,這可以在IS Direct Editor中的任何表格中完成。使用諸如Visual build Pro之類的工具我相信也會幫助你。這是值得的〜$ 100!
Set oMSI = CreateObject("WindowsInstaller.Installer")
On Error Resume Next
' open ISM file in transacted mode
Set oDB = oMSI.OpenDatabase("C:\Path\to\myProject.ism", 1)
strQuery = "Select * FROM `ISPathVariable` WHERE `ISPathVariable`.`ISPathVariable` = 'InstallTreeFolder'"
'////////////////////////////////////////////////////////////
'// Update Path Variable
' fetch the one and only samplesource record
Set oView = oDB.OpenView(strQuery)
oView.Execute
Set oRec = oView.Fetch
' change field 2, the Value field
oRec.StringData(2) = "%INSTALL_TREE_ROOT%"
' update the changed record
oView.Modify 2, oRec
' close the view, commit changes, clean up
oView.Close: oDB.Commit: Set oMSI = Nothing
我嘗試了您的第一個建議(#1),但InstallShield不允許您在安裝文件名中使用變量。 – 2009-08-20 19:23:05