none
.Net Window Application setup.exe issue on window 10 64bit RRS feed

  • Question

  • dear sir/madam, 

    I am stuck in package.xml bootrapper thing. Could you please provide you suggestion on it.

    I have 32bit window application which has SQL Server 2008 express and .Net Framework 4.0. Application creates new SQL server 2008 Instance with "SQLInt", which is working fine on window 7 .

    then i have migrated it to window 10 64bit and updates its prerequisites to SQL Server 2012 express and .Net Framework 4.6.2.

    All working fine, sql server install and instance created without any issue, but facing only one issue with reinstall process.

    When i run my application setup.exe file, it always download/install Pre-install component and failed because component(SQL server instance "SQLInt" already existed.

    I have package.xml bootstrapp file, which has one condition. please find below

     

     <InstallChecks>
        <RegistryCheck Property ="SQLInstance" Key="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" Value="SQLInt"/>
      </InstallChecks>

    <InstallConditions>

          <BypassIf Property="SQLInstance" Compare="ValueEqualTo" Value="MSSQL10.SQLInt"/>

    <InstallConditions>       

    -------------

    but setup.exe not checking registry for this key.

    when i checked in registy, SQL Server instance created in "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" location, but when setup.exe run it looks into the "WOW6432Node" location.

    I have tried two thing:

    1) Added "SQLInt" key in "WOW6432Node" registry like "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\Instance Names\SQL" 

    2)In WOW6462Node, Sql Server instance name SQLInt node. I Simply Add "SQLInt" key in "WOW6432Node" registry like "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\SQLInt\Instance Names\SQL"  

    In both approach, When i run setup.exe , now it find the key, and skip the component Download/install process, simply run my application .MSI file.

    but one issue in this approach is, when i  uninstalled SQL Server 2012 express instance, the key(SQLInt) not removing from that location(on both approach), and if i run application setup.exe again, generally it need to download/install SQL Server 2012 express instance again but it find the key and skip download/install process. As a result application msi installed with no issue but no sql server 2012 express instance found/available.

    Question 1 : Is there any way , like when SQL Server 2012 express uninstall, it also remove this key or all child key which are created later(ex. SQLInt)?

    Question 2 : Is there any way, to force setup.exe to check 64bit registry because it can find sql server 2012 express instance key their?

    Question 3 :Can we change registry view(32bit or 64bit) in package.xml bootstrapp file. Like if setup.exe need to access 32bit registry key or 64 registry key , can it done by bootstrapper file?

    Please provide you suggestion , ASAP.

    Thanks

    Tuesday, March 28, 2017 6:53 AM