2016-12-28 11 views
0

私のsoltuion VSでは、C#とInstallShieldプロジェクトでプロジェクトを持っています。C#のメインプロジェクトからInstallShield Projectの製品版を入手するにはどうすればいいですか

私は、InstallShieldの製品バージョンを取得したいと思います:

enter image description here

しかし、このように私のC#プロジェクトから:

string Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); 

しかし、それはアセンブリバージョンとないのInstallShieldの製品バージョンです。我々はこれを行うことができないのInstallShield Limtied Editionでこのコード

var ISObject = new ISWiAuto22.ISWiProject(); 
ISObject.OpenProject(@strPath); 
var version = ISObject.ProductVersion; 

しかしでのInstallShield 22オートメーションインターフェイス

は、新しい参照COMを使用することができます。使用するOpenProject、プロジェクトファイルは.ismでなければなりません。私はエラーが発生します。*このプロジェクトは、以前のバージョンのInstallShield Developer、InstallShield - Windows InstallerまたはInstallShield Expressを使用して作成されました*

+0

ビルド中、またはあなたがインストールされた後にこれをやろうとしている製品が実行されていますか? –

答えて

1

InstallShieldのCOMインターフェイスを使用して、ISプロジェクトファイルを解析することができます。

VBS例:

Public Sub UpdateInstallerProductCode(strPath, strProductCode) 
Dim objISWiProject 

' Load InstallShield project 
Set objISWiProject = CreateObject("ISWiAuto19.ISWiProject") 
objISWiProject.OpenProject strPath 

' Set new product code 
objISWiProject.ProductCode = "{" & strProductCode & "}" 

' Save and close InstallShield project 
objISWiProject.SaveProject 
objISWiProject.CloseProject 
Set objISWiProject = Nothing 
End Sub 

私はVB/Sを:)嫌い)

+0

私はすぐにそれを見る! –

+0

それは働かない、私はあなたの上の私のポストを見てみましょう:/ –

+0

私は申し訳ありません、私は不注意でした。はい、私のコンピュータでは、新しいISWiAuto22.ISWiProject()も作成できません。私はすぐにCOM例外を持っています。 LEバージョンではコマンドラインはありません。 ISLファイルを手動で解析することをお勧めします。製品バージョンのみを入手する必要がある場合は、それほど複雑ではありません。 –