2010-11-08 245 views
0

嗨我有一個問題,我需要一些指導。 我有一箇舊的應用程序有一個安裝屏蔽安裝程序,我沒有安裝程序腳本。現在我想爲使用Inno Setup的應用程序做一個簡單的補丁。使用Inno安裝程序修補Install Shield應用程序

我正在閱讀文檔,如果我知道appId,我可以只添加到相同的安裝新文件。不過,我現在不知道該應用程序具有哪些ID。我嘗試了一個使用相同名稱的簡單腳本,但它也沒有工作。

無論如何找到附加到該安裝的appId?

有人能指引我走向正確的方向,還是無法做到這一點?

+0

知道InstallShield安裝程序是什麼類型的安裝程序非常重要。是純InstallScript項目還是Windows Installer項目的某種形式(EXE中的MSI或MSI) – 2010-11-08 13:24:54

+0

嗨,我很抱歉。我是這個安裝領域的新手。我沒有訪問前面的代碼,所以我會嘗試我能看到的。 安裝程序是一個exe文件。它安裝應用程序並在「Program Files \ InstallShield安裝信息」中創建一個文件夾,裏面有幾個文件,但沒有說是否是MSI。然而,在安裝程序是本 [啓動] AppName的= MyApp的 引擎= 0 複印= 1個 源= 0 [語言] 默認=爲0x0009 計數= 1個 KEY0 =爲0x0009 希望它helsp,對不起,如果信息不夠準確。 – adn 2010-11-09 01:01:06

回答

2

簡短的回答是否定的,您無法創建與以前的Install Shield軟件包完全無縫的更新軟件包。原因是,無論您是否瞭解AppId,InnoSetup都會在添加到註冊表中的任何AppId的末尾附加一個_is。如果你問我,這是一個非常奇怪的行爲,但這是世界的方式,我們不要忘記你正在處理一個免費的應用程序。他們有他們的推理,這是正確的,在這一點上你的需求是沒有意義的。

你總是可以做什麼我做的時候面臨着同樣的情況:

  1. 發現,原來安裝的的AppId。

    a。在控制面板下打開添加/刪除程序。

    b。在列表中找到您的應用程序並記下名稱。

    c。打開RegEdit。 *免責聲明:這可能會對您的系統產生不利影響,請慎重處理

    d。打開以下注冊表項:HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall

    e。點擊你要找的第一個GUID,然後在右邊的窗格中查看你之前記下的名稱的DisplayName值。如果這個值匹配你找到了AppId - 這是你選擇的GUID。

    f。選擇下一個GUID並返回到第1e步,直到您匹配。

  2. 使用此AppId作爲您在InnoSetup中使用的AppId,但在您的標題中添加「更新」一詞。

  3. 構建並運行您的安裝。

  4. 現在,您將在添加/刪除程序中爲應用程序添加兩個條目,但其中一個清晰標記爲更新。您還完成了額外的工作,以確保AppId儘可能匹配,使其他程序更容易確定它們是相關的。

祝你好運!

+0

非常感謝。 – adn 2010-11-19 08:01:14

相關問題